我正在尝试编辑UI代码,但之后在以下方面被阻止。 无论我做什么,我都无法将任何类型的事件固定到jquery对象上。
有许多具有类名链接的对象。以下代码对jquery对象没有任何影响。
$(".link").on("click",function(x){alert("clicked")})
这可能是导致这种情况发生的原因。 我测试了代码,发现$(“。link”)正在返回一个有效的对象。
答案 0 :(得分:3)
一个可能的,也很可能的原因是代码在元素实际存在之前被执行。将代码包裹在$(document).ready()
来电中:
$(document).ready(function() {
$(".link").on("click",function(x){alert("clicked")});
});
推荐阅读:
答案 1 :(得分:1)
似乎与.on()
存在共同的混淆。如果是动态添加的元素,则应在父文件上应用.on()
(文档准备就绪时存在),并将范围作为.on()
方法的第二个参数。
在你的情况下应该是:
$(document).ready(function() {
$("body").on("click", "div.link", function(x){alert("clicked")})
});
这也适用于动态创建的此类元素。 Live test case
答案 2 :(得分:0)
通常附加.on("click", function(d, i){ console.log('clicked'); })
之类的事件应该有效...但是如果没有这样做,那么边缘必须有一个css部分,其中pointer-events
将设置为无..并删除这应该做的伎俩