开发者问题收集

jQuery 事件监听器未监听

2014-05-02
941

我正尝试做一件简单的事情。只需将点击监听器附加到我的页面即可:

// Generated by CoffeeScript 1.6.3
$(document).ready(function() {
    return $(document.body).on('click', '#container', function() {
        return console.log("hello");
    });
});

但我无法注册点击事件。

当我在 Firebug 中检查代码时,我注意到它确实识别了事件处理程序,但该函数不是我在代码中指定的函数:

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

从我对 javascript 的了解来看,jQuery 似乎没有发现该元素有处理程序。

我尝试过:

重新排序脚本的加载 附加到不同的元素、不同的事件 使用事件委托 使用 firebug 进行全面检查

我创建了一个 jsFiddle 来重现该问题: http://jsfiddle.net/wV5L3/

任何帮助都非常有用,我不用咨询 SO 就能发现问题,这真是加分。谢谢。

2个回答

它应该是 "body" 而不是 document.body

$(document).ready(function(){
  $("body").on('click', '#container', function(){
    console.log("hello");
  });
});

编辑 :当我再次尝试您的 JSFiddle 时,它似乎运行良好。它按预期在控制台中记录输出。我是否遗漏了问题中的某些内容?

kiddorails
2014-05-02

您使用了过多的回报。使用这个 -

$(document).ready(function() {
    $(document.body).on('click', '#container', function() {
        console.log("hello");
    });
});
brainless coder
2014-05-02