【发布时间】:2013-07-11 23:36:04
【问题描述】:
我在这里犯了一个众所周知的错误吗?
我有一个使用 .on() 的脚本,因为元素是动态生成的,但它不起作用。只是为了测试一下,我用动态元素的 wrap 替换了选择器,它是静态的,但它仍然不起作用!但是,当我切换到普通的旧 .click 进行换行时,它起作用了。
(这显然不适用于动态元素,重要的是。)
这行得通:
$("#test-element").click(function() {
alert("click");
});
这不是:
$(document).on("click","#test-element",function() {
alert("click");
});
更新:
我右键单击并在 Chrome 中执行“检查元素”以仔细检查某些内容,然后单击事件起作用。我刷新了,但它不起作用,检查了元素,然后它起作用了。这是什么意思?
【问题讨论】:
-
您是否创建了多个具有相同 ID 的元素?
-
只发布没有相关 HTML 的 jQuery 很难提供帮助。
-
你好 OP,请检查您使用的 Jquery 版本,
:)或轻弹小提琴,我可能会帮助您, -
您的代码应该可以工作。
on函数是在 jquery 1.7 中添加的,请确保您拥有最新版本。编辑:proof for you that it works on fiddle -
您的第二个示例适用于最新的 1.x 版本的 jQuery:jsfiddle.net/AJPdS