Tag: event

使用e.stopPropagation()来防止事件冒泡的利弊

很多人都解释说e.stopPropagation()可以防止事件冒泡。 但是,我很难找到为什么人们想要或者想要首先防止事件冒泡。 在我的网站上,我有许多这样的元素,如下所示: $(document.body).on(‘click’, “.clickable”, function(e){ //e.stopPropagation(); //do something, for example show a pop-up or click a link }); outside stuff Do Something 我想添加e.stopPropagation()因为我想使用这个真棒触摸库Hammer.js将事件处理程序从’click’更改为’touch’ 。 。 这将允许点击在桌面上正常发生以及在移动设备上进行触摸事件。 这个问题(请纠正我,如果我错了)是滚动触摸设备减慢停止。 这是e.stopPropgation()有用的地方吗? 这样,无论何时触摸屏幕document.body每次都不会发生事件 – 事件冒泡?

当处理程序已经存在并绑定时,jQuery stopPropagation on .live()

我知道现场电话会在整个文件中冒出来,这就是我遇到问题的原因。 不幸的是,我正在使用绑定元素的第三方库,并希望创建一个案例,其中点击事件不会冒泡到这些元素。 使用.click()结合eventStopPropogation工作得很好,但是由于我需要使用live,on,delegate等内容的动态特性……这是我的问题的一个小问题。 单击“内部”div时,我需要阻止“外部”点击。 我不能改变“外部”处理程序。 在此先感谢您的帮助!! http://jsfiddle.net/99zQM/2/ HTML: outer inner 使用Javascript: $(“#outer”).bind(‘click’,function(e){ alert(“outer clicked”); }); $(“#inner”).live(‘click’,function(e){ alert(“inner clicked”); });