当有一个ul,下面有100个以上的li,给每一个li添加点击事件是非常耗性能的,解决方案:事件委托,委托给上级ul,代码如下
document.addEventListener('DOMContentLoaded', function() {
let app = document.getElementById('todo-app');
// 事件侦听器绑定到整个容器上
app.addEventListener('click', function(e) {
if(e.target && e.target.nodeName === 'LI') {
let item = e.target;
alert('you clicked on item: '+ item.innerHTML);
}
});
});
网友评论