在巢狀DOM 物件中維護事件進程
在事件處理程序在多個層級上定義的巢狀DOM 結構中,通常希望防止子事件被觸發時父事件處理程序的執行。考慮以下範例:
<div> <pre class="brush:php;toolbar:false"><div>
在此結構中,按一下在任何div 元素上都會呼叫“func”函數。然而,有一個問題:點擊“b”或“c”會觸發被點擊的div及其父div“a”的“func”函數。
解決方案:事件傳播控制
jQuery 提供了一種防止事件在 DOM 樹上傳播的方法。透過在定義事件處理程序之前新增以下程式碼:
$('#a').add('#b').click(function(event) { event.stopPropagation(); });
您可以防止按一下「b」或「c」將事件傳播到其父級「a」。這確保了只有被點擊的子 div 的函數才會被執行。
透過控制事件傳播,您可以在巢狀 DOM 結構中維護所需的事件流並防止無意的函數執行。
以上是當嵌套 DOM 物件中觸發子事件時,如何阻止父事件處理程序執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!