js事件委托有什么优点

1、绑定在父元素上只需要绑定一次,节省性能。

2、子元素不需要每个人都绑定同一个事件。

3、如果后续添加新的子元素,由于事件委托,会自动接收父元素的事件监控。

实例

//原生js事件委托的例子,css部分可以忽略
<!doctype html>
<html>
<head>
<style>
ul{
list-style: none;
display: flex;
}
ul li{
width: 50px;
height: 50px;
line-height: 50px;
text-align: center;
background: pink;
font-weight: bold;
border: 1px solid #eee;
}
ul li: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>
var ul = document.querySelector("ul");
var li = document.querySelectorAll("li");
ul.onclick = function(e){//e指event,事件对象
var target = e.target || e.srcElement; //target获取触发事件的目标(li)
if(target.nodeName.toLowerCase() == 'li'){//目标(li)节点名转小写字母,不转的话是大写字母
alert(target.innerHTML)
}
}
</script>
</body>
</html>

本文教程操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。1、remove方法将元素自身移除,同时也会移除元素内部的一切,包括绑定的事件及与该元素相关的jQuery数据。绑 ...