迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1.什么是事件委托事件委托:利用事件冒泡的特性,将本应该注册在子元素上的处理事件注册在父元素上,这样点击子元素时发现其本身没有相应事件就到父元素上寻找作出相应。这样做的优势有:
2.事件委托的原理事件委托是利用事件的冒泡原理来实现的,何为事件冒泡呢?就是事件从最深的节点开始,然后逐步向上传播事件。 3.事件委托的实现通过一个案例来实现事件委托。 结构层+样式层代码: <style> * { margin: 0; padding: 0; } ul { float: left; width: 800px; margin-top: 50px; } ul li { list-style: none; float: left; width: 200px; height: 200px; border: 1px solid #000; margin-right: 20px; } ul li:first-child { margin-left: 20px; } </style> <body> <ul id="list"> <li>1</li> <li>2</li> <li>3</li> </ul> </body> 3.1 方法1:循环添加事件不使用事件委托,使用for循环添加点击事件,内存消耗大。 var oList = document.getElementById('list'); var lis = oList.getElementsByTagName('li'); for (var i = 0; i < lis.length; i++) { lis[i].onclick = function () { this.style.backgroundColor = 'red'; } } 3.2 方法2:使用事件委托使用事件委托。 var oList = document.getElementById('list'); oList.onclick = function (e) { e.target.style.backgroundColor = 'red'; } 该案例中,e.target表示用户真正点击到的那个元素。 到此这篇关于JavaScript给事件委托批量添加事件监听详细流程的文章就介绍到这了,更多相关JavaScript 事件委托内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论