js中的事件委托以及事件代理

6

给每个dom子节点去绑定事件,会有如下问题: 1、会因为过多的dom事件绑定影响性能 2、会造成再次生成的节点将无法响应事件 利用js中的事件委托以及事件代理就可以完美的解决这个问…

给每个dom子节点去绑定事件,会有如下问题:
1、会因为过多的dom事件绑定影响性能
2、会造成再次生成的节点将无法响应事件

利用js中的事件委托以及事件代理就可以完美的解决这个问题,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
window.onload = function () {
  var divs = document.getElementById('div')
 
 divs.onclick = function(ev) {
    var ev = ev || window.event
    var target = ev.target || ev.srcElement
    // 点击目标是p的时候才响应
    if (target.nodeName.toLowerCase() === 'p') {
      alert(target.innerHTML)
    }
  }
}

作者: huanggr

为您推荐

7

发表评论

电子邮件地址不会被公开。 必填项已用*标注