js中的事件委托


js中的事件委托

1、什么是事件委托?

簡單來講,事件委托就是本來很多元素都需要有自己的事件,但是一個一個給太麻煩了,因此找一個委托人,這個委托人就是父親元素。

原理:利用的是事件冒泡原理,觸發子元素事件會默認觸發父元素的事件。

2、事件委托的例子

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>事件委托</title>
		<style>
			ul {
				list-style: none;
				text-align: center;
			}
			ul li {
				display: block;
				width: 100px;
				height: 100px;
			}
			li:nth-child(2n) {
				background-color: red;
			}
			li:nth-child(2n+1) {
				background-color: pink;
			}
			ul .active {
				background-color: green;
			}
		</style>
	</head>
	<body>
		<div>
			<ul>
				<li>測試1</li>
				<li>測試2</li>
				<li>測試3</li>
				<li>測試4</li>
				<li>測試5</li>
				<li>測試6</li>
			</ul>
		</div>
		<script>
		let ulNode = document.querySelector("ul")
		ulNode.addEventListener("click",function(ev) {
			let lis = this.querySelectorAll("li")
			for(let i=0;i<lis.length;i++) {
				// lis[i].className = ""
				lis[i].classList.remove("active")
			}
			ev.target.classList.add("active")
		})
		</script>
	</body>
</html>
上述事件中,我們將li的事件委托給了父親元素ul,因此我們只需要監聽父親元素即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM