【问题标题】:JQuery binding to document click handler on object click triggers document click handler immediatelyJQuery 绑定到对象单击上的文档单击处理程序立即触发文档单击处理程序
【发布时间】:2011-04-07 06:38:50
【问题描述】:

我编写了一个单击处理程序,它创建一个到文档单击处理程序的绑定,如下所示:

$("#button").bind('click',function(){

    ....


    $(document).bind('click',function(){           
      console.log("document.click");
    });
});

我觉得奇怪的是文档点击处理程序触发并且我立即获得控制台日志。换句话说,我在第一次单击#button 时得到控制台日志。这是因为点击需要时间才能冒泡到文档,并且我在它到达之前绑定到文档点击事件?有什么办法可以防止这种情况发生吗?

【问题讨论】:

    标签: jquery click document bind handler


    【解决方案1】:

    试试这个:

    $("#button").bind('click',function(e){
        e.stopPropagation();
        ....
    
    
        $(document).bind('click',function(){           
          console.log("document.click");
        });
    });
    

    这将防止事件冒泡

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-29
      • 1970-01-01
      • 2015-12-22
      • 1970-01-01
      • 2014-07-26
      相关资源
      最近更新 更多