事件委托是利用事件冒泡的机制,将事件处理器绑定在其祖先元素上,当事件触发时,根据事件目标的不同,决定是否执行该处理器。事件委托可以提高性能,避免给多个子元素绑定事件处理器,也可以动态绑定事件处理器。
// HTML结构:
<ul id="itemList">
<li>item1</li>
<li>item2</li>
<li>item3</li>
</ul>
// 给ul元素绑定事件处理器
var list = document.getElementById('itemList');
list.addEventListener('click', function(event) {
if (event.target.tagName === 'li') {
console.log('Clicked', event.target.textContent);
}
});