Sta*_*ann 30 javascript jquery javascript-events event-bubbling
如何在jQuery中停止自定义事件冒泡?
例如,我有这个代码:
$('.myclass').bind('amodaldestroy', function(){
....does something.....
})
Run Code Online (Sandbox Code Playgroud)
我怎么只允许在冒泡时找到的第一个元素上触发一次?我可以添加退货false吗?
$('.myclass').bind('amodaldestroy', function(){
....does something.....
return false;
})
Run Code Online (Sandbox Code Playgroud)
Dan*_* T. 43
根据jQuery的文档:
$('myclass').bind('amodaldestroy'), function(event) {
....does something....
event.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)
Rus*_*Cam 13
$('.myclass').bind('amodaldestroy', function(e){
e.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)
你也可以使用,return false但两者之间存在细微差别,因为返回false也会调用event.preventDefault();
对于IE <9中的支持:
$(".element").click(function(e)
{
var event = e || window.event;
event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true);
});
Run Code Online (Sandbox Code Playgroud)
这可能不是那么好,但是
return false;
Run Code Online (Sandbox Code Playgroud)
return false会同时做stopPropagation并且event.preventDefault...
如果您只想要一个,您可以根据自己的选择进行选择
请阅读此内容,这仅来自 SO
return false实际上,preventDefault 和 stopPropogation 都是有效的。
preventDefault会阻止默认事件的发生,stopPropogation会阻止事件冒泡,而 return false 会同时执行这两个操作。
| 归档时间: |
|
| 查看次数: |
55645 次 |
| 最近记录: |