学习笔记——事件委托

HTML中新增子元素,动态添加新增子元素的点击事件。

1.示例

<button id="add">新增</button>
<ul id="ul">
  <li>11</li>
  <li>22</li>
  <li>33</li>
  <li>44</li>
  <li>55</li>
</ul>
var $UL =  document.getElementById('ul');
var $Add = document.getElementById('add');
$UL.onclick = function(ev) {
  var e = ev || window.event;
  var target = e.target || window.event.srcElement;
  target.classList.add('active');
  console.log(target);
}
$Add.onclick = function() {
  var newNode = document.createElement('li');
  newNode.innerHTML = ($UL.children.length + 1) * 11;
  $UL.appendChild(newNode);
}

运行结果

2.原因

1.每个子节点都需要绑定重复的点击事件
2.新增加的节点没有绑定点击事件

3.步骤

1.找到当前节点的父亲节点或祖先节点
2.将事件添加到你找到的这个父节点或者祖先节点上
3.找到触发对象,判断触发对象是否是想要的触发对象,进行后续操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一一GG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值