1、绑定在父元素上只需要绑定一次,节省性能。
2、子元素不需要每个人都绑定同一个事件。
3、如果后续添加新的子元素,由于事件委托,会自动接收父元素的事件监控。
实例
//原生js事件委托的例子,css部分可以忽略 <!doctypehtml> <html> <head> <style> ul{ list-style:none; display:flex; } ulli{ width:50px; height:50px; line-height:50px; text-align:center; background:pink; font-weight:bold; border:1pxsolid#eee; } ulli:hover{ cursor:pointer; } </style> </head> <body> <div> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> </div> </body> <script> varul=document.querySelector("ul"); varli=document.querySelectorAll("li"); ul.onclick=function(e){//e指event,事件对象 vartarget=e.target||e.srcElement;//target获取触发事件的目标(li) if(target.nodeName.toLowerCase()=='li'){//目标(li)节点名转小写字母,不转的话是大写字母 alert(target.innerHTML) } } </script> </body> </html>原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容