ul里创建6个li,点击哪个li,哪个li变色。按照事件委托的方式,委托父级。
首先创建好格式,第一步都是DOM获取父级ul元素。
然后给ul添加监听事件,点击父级元素里的内容。当target.tagName与li相同,
则更改新的样式。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>事件委托</title>
</head>
<body>
<ul>
<li>第一个孩子</li>
<li>第2个孩子</li>
<li>第3个孩子</li>
<li>第4个孩子</li>
<li>第5个孩子</li>
</ul>
<p>我不需要变色</p>
<script>
//需求点击每个小li,当前li变为红色
//按照事件委托的方式,委托给父级,事件写到父级身上
//获得父元素
const ul = document.querySelector('ul')
ul.addEventListener('click',(e) => {
// e.target.style.color = 'red'
//需求,只要点击li才会有效果
if(e.target.tagName === 'LI'){
e.target.style.color = 'red'
}
})
//事件委托好处 减少注册次数,提高程序性能
//事件委托委托给了谁? 父元素
// 如何找到真正出发的元素 格式:事件对象.target.tagName
</script>
</body>
</html>