美文网首页
事件委托(事件代理)

事件委托(事件代理)

作者: 琴先森的博客 | 来源:发表于2019-02-25 16:00 被阅读0次

事件委托原理:事件冒泡机制

优点

1.大量减少内存占用,减少事件注册。

2.新增元素实现动态绑定事件

实现方式:

一、可用addEventListener();    //所有主流浏览器,除了IE8及更早IE版本。

1.语法element.addEventListener(eventfunctionuseCapture);

event:必须。字符串,指定事件名。 不加'on',如click

function:必须。指定要事件触发时执行的函数。

useCapture:可选。布尔值,指定事件是否在捕获或冒泡阶段执行(true-事件句柄在捕获阶段执行;false-默认。事件句柄在冒泡阶段执行)。

2.移除事件监听:element.removeEventListener(eventfunction,useCapture)。移除时传入的参数与添加处理程序时使用的参数相同。这也意味着通过addEventListener()添加的匿名函数无法移除。

3.功能:可多次绑定同一个事件,并且不会覆盖上一个事件。

代码实例:给所有的li绑定点击事件,极为繁琐,这时候需要用到事件代理。

ul.addEventListener("click",function(e) { 

    if(e.target && e.target.nodeName.toLowerCase() == "li") {  // 检查事件源e.target是否为Li 

        console.log("List item ",e.target.id.replace("post-","")," was clicked!");  // 打印当前点击是第几个item 

  } 

});

二、attachEvent()     //IE8及IE更早版本

1.用法:element.attachEvent(event,function);

(1)event事件加'on',onClick

(2)没有第三个参数,因为IE只有冒泡,没有反向冒泡。

(3)执行顺序按照绑定的反序(先执行后绑定的方法)。

2.移除事件监听:element.detachEvent(event,function)

相关文章

  • 概念

    事件委托,事件代理 事件代理又称之为事件委托。是JavaScript中常用绑定事件的常用技巧。顾名思义,“事件代理...

  • 前端常见面试题(十一)@郝晨光

    什么是事件委托?为什么要用事件委托? 什么是事件委托? 事件委托,又称事件代理,就是将元素的事件处理交由父元素或者...

  • 事件委托

    事件委托 什么是事件委托(事件代理): 事件委托就是利用事件冒泡的原理,将事件注册到父元素上,减少子元素的事件注册...

  • 事件委托(事件代理)

    利用事件的冒泡传播机制(触发当前元素的某个行为,它父级所有的相关行为都会被触发),如果一个容器中很多元素需要绑定事...

  • 事件委托(事件代理)

    链接地址:http://www.cnblogs.com/liugang-vip/p/5616484.htmlhtt...

  • 事件代理/事件委托

    利用事件冒泡机制,通过设置一个事件处理程序,来管理某一类型的所有事件。(例如:取快递、ul-li操作) 1. 取快...

  • 事件委托/事件代理

    什么是事件委托/事件代理?利用事件的冒泡传播机制(触发当前元素的某一个行为,它父级所有元素相关行为都会被触发),如...

  • 事件代理(事件委托)

    事件流 事件从页面中接收事件的顺序 事件捕获 从window对象传到目标节点(上层到下层),成为捕获阶段 事件冒泡...

  • 事件委托(事件代理)

    概念 两者指的是同一件事情,只是角度不同,比如,一个A元素把事件交给父级元素B处理,那么A就是委托方,B就是代理放...

  • 事件委托(事件代理)

    事件委托原理:事件冒泡机制 优点: 1.大量减少内存占用,减少事件注册。 2.新增元素实现动态绑定事件 实现方式:...

网友评论

      本文标题:事件委托(事件代理)

      本文链接:https://www.haomeiwen.com/subject/jecgyqtx.html