事件捕获与冒泡

普通事件绑定和 事件监听的区别:

 1. 添加监听事件可以对动态生成的元素(未来元素)生效,而普通事件不可以

2. 普通事件只能执行一个回调函数,监听事件可以添加n个(事件监听可以绑定多个相同的事件)

 3. 事件监听可以控制事件的传播方式(冒泡或捕获),而事件绑定只有冒泡

4. 事件监听可以通过删除的方法,来取消事件,而普通绑定只能通过 null来取消

事件监听: 调用对象.addEventListener(a,b,c)

a : 事件类型

b : 触发事件后执行的函数

c : 布尔值  默认值是  false 事件冒泡  ;  true 事件捕获

事件阻断: event.stopPropagation( )

直接使用,不需要参数

删除事件监听 :调用对象.removeEventListener( a,b,c )

a : 事件类型     b : 触发事件后执行的函数    c : 布尔值  默认值是  false 事件冒泡  true 事件捕获

注意事项:

 1. 相同元素调用

 2. 相同事件名称

3. 相同函数名(匿名函数不行,需要全局函数)

4. 相同的执行阶段

事件委托

实现的原理是通过 :事件冒泡

优点:

1)只在内存中开辟了一块空间,节省资源同时减少了dom操作,提高性能

2)对于新添加的元素也会有之前的事件(可以把事件帮给未来元素)

你可能感兴趣的:(事件捕获与冒泡)