事件捕获与冒泡
- 事件捕获:在 DOM 模型中,当元素节点产生一个事件时,该事件会在 DOM 树中元素节点与根节点之间按特定的顺序传播,路径所经过的节点都会收到该事件,即自上而下的去触发事件。
- 事件冒泡:当元素节点处理完接收到的事件时,会把该事件传递给父节点处理,一直传到根节点,即自下而上的去触发事件(如果节点没有绑定该事件函数,将不会有任何表现)。
事件修饰符
-
.stop
:防止事件冒泡,即结点将不把该事件传递给父节点,相当于event.stopPropagation()
。 -
.prevent
:取消与事件关联的默认事件。如 type 属性是 "submit",可通过该修饰符,可以阻止提交表单。相当于event.preventDefault()
。 -
.capture
:当事件发生冒泡时,先触发事件带有该修饰符的节点。如果有多个节点的事件带有该修饰符,触发顺序与捕获顺序相同。 -
.self
:当事件绑定结点与触发事件结点相同时,该事件才会被触发。 -
.once
:事件只会被触发一次。 -
.passive
:表示事件不会调用event.preventDefault()
,减少了额外的监听,从而提高了性能;所以不能和.prevent
修饰符一同使用,否则浏览器会报错。