0


快速了解4种阻止事件冒泡的方法(原生js阻止,vue中使用修饰符阻止)

阻止事件冒泡的方法

前端结构

<divid="app"><divclass="father-box"@click="clickFatherBox">
        我是父盒子
        <divclass="son-box"@click="clickSonBox">
          我是子盒子
        </div></div></div>
methods:{clickSonBox(){alert("子盒子")},clickFatherBox(){alert("父盒子")}},

事件冒泡:clickSonBox事件发生时clickFatherBox事件也被触发了

此时点击子盒子 对话框弹出两次

方法1:使用js阻止事件冒泡

clickSonBox(e){
    e.stopPropagation();alert("子盒子")},//或者clickSonBox(e){
     e.cancelBubble=truealert("子盒子")},

方法2:使用事件修饰符stop

绑定事件时,使用stop修饰符阻止事件冒泡

<divclass="father-box"@click="clickFatherBox">我是父盒子
    <divclass="son-box"@click.stop="clickSonBox">
      我是子盒子
    </div></div>

方法3:使用事件修饰符self

绑定事件时,使用self修饰符 表示只在本元素被点击时触发

<divclass="father-box"@click.self="clickFatherBox">
     我是父盒子
     <divclass="son-box"@click="clickSonBox">
       我是子盒子
     </div></div>
注意:

self修饰符应该在父盒子绑定事件时使用而不是子盒子! 在父盒子事件使用self,点击了子盒子,父盒子的点击事件不会被触发,即事件没有冒泡,

self表示只在当前元素发生事件时,事件才触发


本文转载自: https://blog.csdn.net/m0_48895748/article/details/128226456
版权归原作者 黄橘子panda 所有, 如有侵权,请联系我们删除。

“快速了解4种阻止事件冒泡的方法(原生js阻止,vue中使用修饰符阻止)”的评论:

还没有评论