使用內聯Onclick 屬性防止事件傳播
當多個元素相互嵌套並擁有自己的onclick 事件處理程序時,可以事件在DOM 層次結構中傳播,觸發父元素上的處理程序。雖然這種行為在某些情況下可能是理想的,但在其他情況下可能有必要防止這種傳播。
範例:
考慮以下程式碼片段:
<div onclick="alert('you clicked the header')" class="header"> <span onclick="alert('you clicked inside the header');">something inside the header</span> </div>
當使用者點擊span時,它會觸發span的onclick事件處理程序和div的onclick事件處理程序。為了防止事件傳播到div,我們可以使用以下方法之一:
1. event.stopPropagation()
此方法阻止事件在DOM 樹上進一步傳播。
<span onclick="event.stopPropagation(); alert('you clicked inside the header');">something inside the header</span>
2. window.event.cancelBubble(對於 IE)
對於 Internet Explorer,等效方法是 window.event.cancelBubble。
<span onclick="window.event.cancelBubble = true; alert('you clicked inside the header');">something inside the header</span>
以上是如何使用內聯 onclick 處理程序防止嵌套元素中的事件傳播?的詳細內容。更多資訊請關注PHP中文網其他相關文章!