返回值:Objectevent.stopImmediatePropagation()
V1.3jQuery event.stopImmediatePropagation() 方法概述
阻止剩余的事件處理函數執行并且防止事件冒泡到DOM樹(shù)上。
除了阻止元素上其它的事件處理函數的執行,這個(gè)方法還會(huì )通過(guò)在內部調用 event.stopPropagation() 來(lái)停止事件冒泡。如果僅僅想要停止事件冒泡到前輩元素上,而讓這個(gè)元素上的其它事件處理函數繼續執行,我們可以使用event.stopPropagation() 來(lái)代替。
使用 event.isImmediatePropagationStopped() 來(lái)確定這個(gè)方法是否(在那個(gè)事件對象上)調用過(guò)了。
注意:
自從.live()方法處理事件一旦傳播到文檔的頂部,live事件是不可能停止傳播的。同樣地,.delegate() 事件將始終傳播給其中包含的被委托元素;元素上的事件將在被委托事件被調用的時(shí)候執行。
示例
描述:
阻止調用其它事件處理函數。
代碼:
<!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>