JavaScript事件代理
当我们需要对很多元素添加事件的时候,可以通过将事件添加到它们的父节点而将事件委托给父节点来触发处理函数。这主要得益于事件的冒泡机制。
假设有一个ul父节点,包含了很多个li子节点:
<ul id="parent-list">
<li id="post1">item1</li>
<li id="post2">item2</li>
<li id="post3">item3</li>
<li id="post4">item4</li>
</ul>
点击每个li时打印各自的innerText:
document.getElementById("parent-list").addEventListener("click",function(e){
if(e.target && e.target.nodeName.toUpperCase() == "LI"){
console.log(e.target.innerText);
}
})
网友评论