JS事件冒泡和事件捕获
上篇笔记提到了事件的修饰符,其中不少是与事件冒泡相关的,于是这篇来大致总结一下。
· 事件冒泡
当一个元素接收到事件时,会把“接收事件”这个行为传递给自己的父级,比如在
上发生事件,那么顺序为:p -> div -> body -> html -> document (冒泡过程)
这里要注意的是,传递的仅仅是这个事件,而不是事件所绑定的函数,如果父级没有绑定函数,那么是不会有任何效果产生的(但事件确实传递了)。
举个例子:
"one"> 我是div1"two"> 我是div2"three"> 我是div3"four"> 我是div4
① 点击div4区域
② 点击div2区域
③ 如果说,此时div3上没有绑定事件,那么点击div4区域时
· 事件捕获
与事件冒泡相反,事件会从最外层往最里层一级一级传递,直到最具体的元素。同样拿
来举例,那么它的顺序为:document -> html -> body -> div -> p (捕获过程)
举个例子:
"one"> 我是div1"two"> 我是div2"three"> 我是div3"four"> 我是div4
① 点击div4区域
② 点击div2区域
③ 如果说,此时div3上没有绑定事件,那么点击div4区域时