首頁 >web前端 >js教程 >如何防止父事件處理程序在 jQuery 中透過子元素點選執行?

如何防止父事件處理程序在 jQuery 中透過子元素點選執行?

Barbara Streisand
Barbara Streisand原創
2024-11-23 22:55:10762瀏覽

How to Prevent Parent Event Handlers from Executing with Child Element Clicks in jQuery?

防止執行父級事件處理程序

在給定的HTML 結構中,按一下任何div 元素都會觸發其父級div的單擊處理程序,導致意外行為。為了防止這種情況,我們可以使用 jQuery 來停用點擊事件傳播。

<div>
function func() {
   if ($(childId).hasClass("visible")){
    $(childId).removeClass("visible");
    $(childId).addClass("invisible");
}

要停用點擊事件傳播,請在呼叫stopPropagation() 方法的子元素中加入事件處理程序:

function handler(event) {
    event.stopPropagation();
    // Custom code to execute for the child's click event
}

$('#a').add('#b').click(handler);

透過阻止事件傳播,子元素('#b')的點擊將不再觸發父元素的點擊處理程序('#a')。同樣,對後代元素(“#c”)的點擊不會傳播到兩個父元素(“#b”和“#a”)。

以上是如何防止父事件處理程序在 jQuery 中透過子元素點選執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn