jquery事件处理程序多次调用

时间:2014-11-18 22:47:11

标签: jquery events

如下所示注册点击事件,当在页面中单击一次空​​白空间时,处理程序将被调用5次。我希望它能被召唤一次。

$(document).click(function(event) {
        console.log(event.target);
    });

有人可以解释一下吗?感谢。

3 个答案:

答案 0 :(得分:2)

您可能会加载5次代码。你是怎么把它包含在你的页面上的? (编辑你的问题来回答)

答案 1 :(得分:0)

jQuery .click() eventHandler在每次点击时设置一个新的事件处理程序(而不是替换 - 就像你期望的那样。)

您应该能够通过解除绑定,然后重新绑定事件处理程序来解决此问题:

$(document).unbind('click').click(function(event) {
//...//
});

<强> [编辑]

.unbind()事件处理程序已弃用...因此上述内容应为:

$(document).off('click').on('click', function(event) {
// do things //
 });

答案 2 :(得分:-1)

试试这个:

&#13;
&#13;
$(document).on('click', function(e){
  console.log(e.target);  
});
&#13;
&#13;
&#13;