目录
前言
课前思考
for循环注册事件
语法
事件委托
1.事件委托的好处是什么?
2.事件委托是委托给了谁,父元素还是子元素
3.如何找到真正触发的元素
示例代码
总结
前言
才子佳人,自是白衣卿相
课前思考
1.如果同时给多个元素注册事件,我们怎么做的?
for循环注册事件
语法
const lis = document.querySelectorAll('ul li');for(leti=0;i< lis.length; i++){lis[i].addEventListener('click',function(){alert('我被点击了')})
2.有没有一种技巧 注册一次事件就能完成以上效果呢?
事件委托
事件委托是利用事件流的特征解决一些开发需求的知识技巧
优点:减少注册次数,可以提高程序性能原理:事件委托其实是利用事件冒泡的特点。给父元素注册事件,当我们触发子元素的时候,会冒泡到元素身上,从而触发父元素的事件
1.事件委托的好处是什么?
减少注册次数,提高程序性能
2.事件委托是委托给了谁,父元素还是子元素
3.如何找到真正触发的元素
事件对象.target.tagName
示例代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.highlight {background-color: red;}</style>
</head>
<body><ul><li>一</li><li>二</li><li>三</li><li>四</li><li>五</li><p>我是p标签</p></ul><script>const ul = document.querySelector('ul');ul.addEventListener('click', function (e) {if (e.target.tagName === 'LI') {e.target.classList.toggle('highlight');}});</script>
</body>
</html>
总结
斗酒彘肩,风雨渡江