一、解释以下概念:事件传播机制、阻止传播、取消默认事件、事件代理。
事件传播机制
- 事件捕获阶段:不太具体的节点更早接收事件,而最具体的元素最后接收事件
- 处于目标阶段
- 事件冒泡阶段:事件开始时由最具体的元素接收,然后逐级向上传播到较为不具体的元素
首先发生的是事件捕获,为截取事件提供机会,然后是实际目标接收事件,最后是冒泡阶段
[图片上传失败...(image-a7e1d7-1533124053686)]
阻止传播
stopPropagation()
取消事件进一步捕获或冒泡
取消默认事件
preventDefault()
取消事件默认行为
事件代理
- 事件代理用了事件冒泡的原理,把事件函数绑定到父元素上,在函数内指定子元素所需之行的方法。
- 当触发事件时,事件会依次冒泡到父元素上,然后又触发绑定在父元素上的函数。
- 也就是说指定一个事件处理程序,管理某一类型的所有事情。
我们来看一下事件代理的步骤:
1.父元素绑定事件
2.父元素知道事件的实际发生目标是谁
3.我们要对目标进行判断,如果是我们需要的元素,则发生回调函数
优点:
1.减少与dom的交互次数,提高代码性能
2.动态生成DOM元素时,可通过事件代理给新增的元素添加事件函数
网友评论