返回值: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>