阻止剩余的事件处理函数执行并且防止事件冒泡到DOM树上。
除了阻止元素上其它的事件处理函数的执行,这个方法还会通过在内部调用 event.stopPropagation() 来停止事件冒泡。如果仅仅想要停止事件冒泡到前辈元素上,而让这个元素上的其它事件处理函数继续执行,我们可以使用event.stopPropagation()来代替。
使用 event.isImmediatePropagationStopped()来确定这个方法是否(在那个事件对象上)调用过了。
自从.live()方法处理事件一旦传播到文档的顶部,live事件是不可能停止传播的。同样地,.delegate()事件将始终传播给其中包含的被委托元素;元素上的事件将在被委托事件被调用的时候执行。
阻止调用其它事件处理函数。
<!DOCTYPE html>
<html>
<head>
<style> p { height: 30px; width: 150px; background-color: #ccf; }
div {height: 30px; width: 150px; background-color: #cfc; } </style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<p>paragraph</p>
<div>division</div>
<script>
$("p").click(function(event){
event.stopImmediatePropagation();
}); $("p").click(function(event){
// This function won't be executed
$(this).css("background-color", "#f00"); });
$("div").click(function(event) {
// This function will be executed
$(this).css("background-color", "#f00");
});</script>
</body>
</html>
备案信息: 粤ICP备15087711号-2
Copyright © 2008-2024 啊嘎哇在线工具箱 All Rights.
本站所有资料来源于网络,版权归原作者所有,仅作学习交流使用,如不慎侵犯了您的权利,请联系我们。