JavaScript中事件委托的简单理解
事件委托可以让我们添加监听器到父元素上,来避免刷新数个子元素造成性能大量消耗
例:
1 <body> 2 <div id="container"> 3 <ul id="list"> 4 <li><a href="#">Item 1</a></li> 5 <li><a href="#">Item 2</a></li> 6 <li><a href="#">Item 3</a></li> 7 <li><a href="#">Item 4</a></li> 8 .................................. 9 <li><a href="#">Item 1000</a></li> 10 </ul> 11 </div> 12 </body>
如例,如果我们遍历每个 <a>
元素然后一个一个监听事件的话页面就会变得很卡。
event.target
事件委托:当事件冒泡到 body
元素,我们可以使用 event.target
来检查是哪个元素被点击了。
1 document.addEventListener("click", function(e) { 2 if(e.target && e.target.nodeName == "A") { 3 console.log("List item ", e.target.textContent, " was clicked!"); 4 } 5 }); 6 7 // When we click the 2nd item, the page prints out: 8 9 "List item Item 2 was clicked!"

图源于书本《JavaScript高级程序设计》。
版权声明:
作者:jenkin
链接:https://blog.ijenkin.top/index.php/2022/02/13/sjwt/
来源:Jenkin
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
文章目录
关闭
共有 0 条评论