VUE.JS的事件修饰符介绍

事件修饰符:

  • .stop 阻止冒泡

  • .prevent 阻止默认事件

  • .capture 添加事件侦听器时使用事件捕获模式

  • .self 只当事件在该元素本身(比如不是子元素)触发时触发回调

  • .once 事件只触发一次


.stop 阻止冒泡

    
    

这样子的话,点击button按钮,只会触发它的点击事件,因为加上了.stop事件修饰符,所以这时候div不会触发事件,也就是成功阻止了冒泡。

.prevent 阻止默认事件

    
    有问题,先去百度

因为a标签的默认行为是跳转到对应的URL,如果没有使用 .prevent 阻止默认行为,则点击以上那个a标签,会自动跳转到百度,效果如下:

加上了 .prevent 阻止默认行为,则不会进行跳转,效果如下:

.capture 添加事件侦听器时使用事件捕获模式

    
    

如果不使用capture,正确的触发顺序应该是先input后div
加上capture之后,因为冒泡被上层先捕获了,所以触发顺序变为先div后input
验证如下:

.self 只当事件在该元素本身(比如不是子元素)触发时触发回调

    
    

点击input时候,因为加上了self修饰符,div不接受其冒泡

只有当用户鼠标点击div时候,才会触发div的事件

.once 事件只触发一次

    
    有问题,先去百度

加上了once事件修饰符,prevent只能触发一次,因此当第一次点击链接,不会进行默认的跳转到百度,但是当再次点击,则会进行跳转

注意:这里prevent和once顺序没有联系,即先prevent后once和 先once后prevent 效果都是一样的


.stop 和 .self 的区别

    
    

.self 只会阻止自己身上冒泡行为的触发,并不会真正阻止冒泡的行为,如果传到该层时又.self修饰,那么该层继续将冒泡上传的上一层,继续触发


完整代码如下:





  
  
  
  Document
  
  



  

你可能感兴趣的:(VUE.JS,复习笔记)