阻止了html实例的所有事件

时间:2013-02-07 13:12:29

标签: javascript jquery

我正在尝试编辑UI代码,但之后在以下方面被阻止。 无论我做什么,我都无法将任何类型的事件固定到jquery对象上。

有许多具有类名链接的对象。以下代码对jquery对象没有任何影响。

$(".link").on("click",function(x){alert("clicked")})

这可能是导致这种情况发生的原因。 我测试了代码,发现$(“。link”)正在返回一个有效的对象。

3 个答案:

答案 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将设置为无..并删除这应该做的伎俩