如何停止在jQuery冒泡事件?

如何在jQuery中停止自定义事件冒泡?

例如,我有这样的代码:

$('.myclass').bind('amodaldestroy', function(){ ....does something..... }) 

我怎样才能让它在冒泡的第一个元素上触发一次呢? 我可以添加返回false吗?

 $('.myclass').bind('amodaldestroy', function(){ ....does something..... return false; }) 

根据jQuery的文档 :

 $('myclass').bind('amodaldestroy'), function(event) { ....does something.... event.stopPropagation(); }); 

使用event.stopPropagation();

 $('.myclass').bind('amodaldestroy', function(e){ e.stopPropagation(); }); 

你也可以使用return false但是两者之间有一个微妙的区别,那就是返回false也调用event.preventDefault();

在IE中支持<9:

 $(".element").click(function(e) { var event = e || window.event; event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true); }); 

这可能不是那么好,但是

 return false; 

return false将做stopPropagationevent.preventDefault...

如果你只想要一个,你可以根据自己的select进行select

请阅读这个,这只是从SO而已

return false是有效的既preventDefault和stopPropogation。

preventDefault将防止发生默认事件, stopPropogatio n将防止事件冒泡,返回false将同时做到这一点。

Interesting Posts