我正在尝试编辑 UI 代码,但随后被阻止。无论我做什么,我都无法将任何类型的事件固定到 jquery 对象上。
有许多带有类名链接的对象。以下代码对 jquery 对象没有任何影响。
$(".link").on("click",function(x){alert("clicked")})
发生这种情况的可能原因是什么。我测试了代码,发现 $(".link") 正在返回一个有效对象。
我正在尝试编辑 UI 代码,但随后被阻止。无论我做什么,我都无法将任何类型的事件固定到 jquery 对象上。
有许多带有类名链接的对象。以下代码对 jquery 对象没有任何影响。
$(".link").on("click",function(x){alert("clicked")})
发生这种情况的可能原因是什么。我测试了代码,发现 $(".link") 正在返回一个有效对象。
似乎与.on()
. 在动态添加元素的情况下,您应该.on()
在父级(文档准备就绪时存在)上应用,并将范围作为.on()
方法的第二个参数。
在您的情况下,它应该是:
$(document).ready(function() {
$("body").on("click", "div.link", function(x){alert("clicked")})
});
这也适用于动态创建的此类元素。现场测试用例。
通常附加事件.on("click", function(d, i){ console.log('clicked'); })
应该可以工作......但如果那没有做这项工作,边缘必须有一个css部分,其中 pointer-events
将设置为无......并且删除它应该可以解决问题