js中实现事件代理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中实现事件代理相关的知识,希望对你有一定的参考价值。

var count = 10;

for(var i = count;i--;){

  var div = document.createElement(‘div‘);

  div.innerhtml = "test_div"+i;

  div.className = "test_div";

  document.body.appendChild(div);

}

//绑定冒泡阶段点击事件

document.body.addEventListener(‘click‘, function(e){ 

  if(e.target && e.target.className == "test_div") {

    alert(e.target.innerHTML+‘ bubble‘);

  }

}, false)

//绑定捕获阶段点击事件

document.body.addEventListener(‘click‘, function(e){ 

  if(e.target && e.target.className == "test_div") {

    alert(e.target.innerHTML+‘ capture‘);

  }

}, true)

 

触发顺序:捕获阶段-》目标阶段-》冒泡阶段

以上是关于js中实现事件代理的主要内容,如果未能解决你的问题,请参考以下文章

js事件代理(委托)

js事件代理理解

封装Js事件代理方法

Atitit.  Js 冒泡事件阻止 事件捕获   事件传递  事件代理

js事件代理(事件委托)最简单的理解

js学习笔记-事件代理