首先,要知晓 Javascript 中的事件冒泡机制。

事件修饰符 随笔 第1张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

 简单的说,其实就是当你触发了子元素的事件(如click)时,如果该子元素的父元素也绑定的了事件(如click)的话,也会触发该父元素的事件,这就是所谓的

从下往上的冒泡机制(js中的事件冒泡机制)。 

参考了:https://blog.csdn.net/luanlouis/article/details/23927347

 

 为了阻止这种情况的发生,例如,点击子元素时,不想触发其父元素的事件,只想触发子元素(如button)本身的事件的话,可以在子元素(button)的事件上加上

 .stop 事件修饰符,这样就不会触发外层父元素(div)的(click)事件,例如:

事件修饰符 随笔 第2张

 1、 .stop 阻止冒泡

 2、 .prevent 阻止默认事件

事件修饰符 随笔 第3张

 

3、 .capture 事件捕获

事件修饰符 随笔 第4张

 

根据上面的冒泡机制可知,点击子元素 button 时,会执行冒泡机制,从而从下到上(从内到外)执行事件。

但是,通过 .capture 修饰符可以做到  从外到内 的执行事件:

  事件修饰符 随笔 第5张

 

4、 .self  当事件在该元素本身触发时,才触发回调

 事件修饰符 随笔 第6张

 事件修饰符 随笔 第7张

 

5、 .once 事件只触发一次

 事件修饰符 随笔 第8张

可以看出,事件修饰符可以串联使用。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄