vue 父div绑定点击事件子元素不要触发父div的点击事件

vue yekong

在 Vue.js 中,你可以使用 v-on 指令或者 @ 符号来监听 DOM 事件,如点击事件。如果你想要在 class="labelCom" 的元素被点击时触发某个方法,但不希望 <pop ref="pop"></pop> 组件的点击事件被触发,你可以在 <pop> 组件的点击事件上使用 .stop 修饰符来阻止事件冒泡。以下是修改后的代码:

<div class="labelCom" @click="getPop">
    <div class="labelComTop" @click.stop>
      <div class="labelComTopNum">
        <gsapNum :number="num"></gsapNum>
      </div>
      <div class="labelComTopbg"></div>
    </div>
    <div class="labelComCenter"></div>
    <div class="labelComBottom"></div>
    <pop ref="pop" @click.stop></pop>
</div>

在这段代码中,当你点击 class="labelCom" 的元素时,getPop 方法会被触发。而当你点击 <pop ref="pop"></pop> 组件时,由于 .stop 修饰符的存在,点击事件不会冒泡到父元素,因此 getPop 方法不会被触发。

喜欢