我有一個div
及其父div
。當點擊父母div
時,我想執行一個操作。整個div是可點擊的。jQuery:preventDefault()/返回false不會停止腳本
孩子div
有附加的另一個功能,如果點擊,父母不得執行其功能。
這對於檢查什麼被點擊
if ($(e.target).hasClass('prevent-choise')) {
e.preventDefault();
return;
return false;
}
// here is the rest of the code for parent element that should not execute when clicking child element (.prevent-choise)
孩子div有一個img
作爲其內容,且都有類prevent-choise
我的js代碼。單擊時,在父級上執行的功能仍會運行,但有時只會運行。我無法理解這背後的邏輯。
父項是在css中的position: relative
,子項是position: absolute
和z-index: 10
。
是否有任何其他方式確切知道被點擊的內容並採取相應措施?
謝謝
https://developer.mozilla.org/en-US/docs/Web/API/Event/stopPropagation – David
@David這是行不通的。查看event.stopPropagation()的jQuery文檔,它說與返回false相同,我已經這樣做了。 –
上面的代碼在返回false之前有返回值。因此,你永遠不會「返回false」,因爲你上面的return語句結束了函數的執行。 –