事件代理,又称事件委托。是JS中常用绑定事件的常用技巧。事件代理是把原本需要绑定的事件委托给父元素,让父元素担当事件监听的职务,利用冒泡机制触发该事件。
优点:
- 可以减少事件注册,节省大量内存占用
- 可以将事件应用于动态添加的子元素上
缺点:
使用不当会造成事件在不应该触发时触发
示例:
ulEl.addEventListener('click', function(e) {
var target = event. target || event. srcElement;
if (!!target && target. nodeName.toUpperCase() === "LI") {
console.log (target. innerHTML);
}
}, false);