jquery click事件不起作用
我编写了这段代码,我需要使用jquery来处理点击事件,但它在任何浏览器中都不起作用,当我点击任何元素时没有任何反应。 div在css中没有z-index;
孔“news”元素动态添加这是html代码
1000 title time date cat part sgmnt writer view post edit delete accept
这是我的jquery代码
$(document).ready(function () { $("#littleNews").click(function () { alert("hi"); }); });
它不适用于“新闻”类中的任何元素
我有这个代码,这段代码创建了整个div
$("#news").clone().appendTo("#mainDiv").attr("id","news"+(i+1))
正如你所展示的那样 ,你的代码和HTML 在jsFiddle中运行得很好。 所以,这些与你展示它们完全没有问题。 它更可能是页面中的环境或动态HTML。 一些可能性:
- 安装事件处理程序后,动态添加HTML元素。
- 您没有正确安装jQuery。
- 您有一个脚本错误,阻止其他脚本运行。
- 您的页面中某处有重复的ID。
- 你没有使用正确的选择器(也许你想要
".news"
)
如果在安装事件处理程序后动态添加HTML,则需要使用委托事件处理,如下所示:
$(document).ready ( function () { $(document).on ("click", "#littleNews", function () { alert("hi"); }); });
提示: $(document)
实际上应该是#littleNews
最接近的父#littleNews
,它不是在安装事件处理程序后动态创建的。 我不知道那是什么,所以我选择了最安全的$(document)
,但是如果使用最接近的静态父级,事情表现更好(特别是如果你有很多委托的事件处理程序)。
从您的问题中不清楚,但如果您还希望您的事件处理程序覆盖.news
所有内容, .news
需要更改选择器以覆盖它。
尝试这样的事情
$(document).on('click','#littleNews',function () { alert("hi"); });
我测试了你的代码,它的工作原理。
我想你不记得添加了jquery。
$("#littleNews").click (function(){ alert("hi"); });
演示
试试这个,
$(function () { $("#littleNews div").on('click',function () { alert($(this).text()); }); });
演示
你询问“新闻”课程。 您发布的代码不以任何方式引用它。
也许你想要这个?
$(document).ready(function () { $("#littleNews, .news").click(function () { alert("hi"); }); });
小提琴
可能其中一个div标签落在了littlenews div上。
测试:
为所有div设置(border:1px red solid)。
希望能帮助你。
确保你没有忘记将jQuery库添加到html文件中。 如果它发生在
从google或microsoft cdn添加它,如下所示解决了这个问题。