利用冒泡,给新添加的属性添加事件绑定

本文介绍了一种使用事件委派技术来简化动态元素处理的方法。通过将事件监听器绑定到父元素上,即使子元素是动态添加的,也能响应事件。这种方法避免了为每个子元素单独绑定事件监听器的繁琐。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用event中的target使冒泡到祖先中的事件仍然返回点击的元素。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			window.function(){
				var btn01=document.getElementById("btn01");
				var ul=document.getElementById("ul");
				 btn01.function(){
					 var li=document.createElement("li");
					 li.innerHTML="<a href='javascript:;' class='link'>新建的超链接 </a>";
					 
					 ul.appendChild(li);
					 //alert("nihao");
					
				}
				/**
				 * 为每一个超链接都绑定一个单击响应函数
				 * 新添加的链接不能绑定
				 */
				var allA=document.getElementsByTagName("a");
				//遍历
// 				for(let i=0;i<allA.length;i++){
// 					//需要闭包才能停止
// 					//var j=i;
// 					allA[i].function(){
// 						alert("我是"+allA[i].innerHTML);
// 					} 
// 				}
				/**
				 * 希望只绑定一次就可以应用到所有的元素上了
				 * 尝试绑定到父级元素上
				 * 事件委派
				 * 指将事件统一绑定给元素的共同祖先
				 */
				ul.function(event){
					//如果触发事件的对象是我们期望的元素,则执行否则不执行.
					/**
					 * event对象中的target 点到谁就是谁
					 */
					alert(event.target.innerHTML);
				}
				

			}
		</script>
		
	</head>
	<body>
		<button id="btn01">添加超链接</button>
		<ul id="ul">
			<!-- javascript:;可以防止链接跳转相当于return false -->
			<li><a href="javascript:;" class="link">超链接1</a></li>
			<li><a href="javascript:;" class="link">超链接2</a></li>
			<li><a href="javascript:;" class="link">超链接3</a></li>
		</ul>
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值