我對JavaScript的使用並不是非常好,因爲我現在只在一年多的時間裏作爲一個愛好編寫代碼,所以請原諒我,如果這個問題看起來很愚蠢。我也是新來發布在StackOverflow這裏。如何在事件偵聽器中將父節點與其所有子節點相關聯? jQuery/JavaScript
無論如何,我想把一個事件監聽器放在一個動態創建的具有子節點的元素上。
實施例:
<div class="div">
<div class="div2">
Content in Div2
</div>
<div class="div3">
Content in Div3
</div>
Content in Div
</div>
這將是HTML設置。對於JavaScript的(我使用jQuery過,如果有更好的方式來處理這個問題)我使用這個代碼(因爲元素是動態生成):
document.querySelector('body').addEventListener('click',function(e){
if (e.target.className === "div"){
//Run this code
}
});
但是如果我想有一個代碼即使在div2
和div3
被點擊時運行?我知道我可以遍歷的DIV說:
document.querySelector('body').addEventListener('click',function(e){
if (e.target.className === "div" || e.target.parentNode.className === "div"){
//Run this code
}
});
但是我實際的代碼有很多的東西,怎麼回事,它看起來像一個混亂的爛攤子。有沒有更好的方法去解決這個問題?
我覺得我失去了一些東西很簡單
http://learn.jquery.com/events/event -delegation/ –