Eternity_y 2023-10-17 17:55 采纳率: 0%
浏览 148

点击子元素只触发子元素事件,不触发父元素点击事件

问题:点击子元素只触发子元素事件,不触发父元素点击事件
解决方案:在子元素上添加阻止事件冒泡方法(.stop修饰符可以阻止事件冒泡)
示例代码:

<template>  
  <div @click="outerClick">  
    <div @click.stop="innerClick">  
      Inner Div  
    </div>  
  </div>  
</template>  
  
<script>  
export default {  
  methods: {  
    innerClick() {  
      console.log("Inner div clicked");  
    },  
    outerClick() {  
      console.log("Outer div clicked");  
    }  
  }  
};  
</script>

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-18 05:13
    关注

    【以下回答由 GPT 生成】

    在Vue.js中,使用修饰符.stop可以阻止事件冒泡,但是这只针对普通的原生事件有效,对于自定义事件是无效的。因此,在上述示例代码中,点击子元素仍然会触发父元素的点击事件。

    解决这个问题的方法是,在子元素的点击事件中手动停止事件传播。可以使用event.stopPropagation()方法来停止事件的继续传播,即阻止从子元素向父元素的事件传播。

    以下是修改后的代码示例:

    <template>
      <div @click="outerClick">
        <div @click="innerClick">
          Inner Div
        </div>
      </div>
    </template>
    
    <script>
    export default {
      methods: {
        innerClick(event) {
          event.stopPropagation(); // 停止事件传播
          console.log("Inner div clicked");
        },
        outerClick() {
          console.log("Outer div clicked");
        }
      }
    };
    </script>
    

    通过在子元素的点击事件中调用event.stopPropagation()方法,可以阻止事件继续向父元素传播,从而实现只触发子元素的点击事件,不触发父元素的点击事件。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 10月17日

悬赏问题

  • ¥15 python用ARIMA时间预测模型预测数据出错,急!
  • ¥30 为什么后端传给前端vue的河流json数据不在地图中显示出来
  • ¥50 关于弹性波动方程求解的问题:
  • ¥100 C# 做 10个串口数据采集;采集数据填到 EXE表中;1路与PLC MODBUS通讯 ;要求速度尽量快点; 有能做完整程序的单聊,重酬
  • ¥15 P0口接8个LED,编写程序,并绘制proteus仿真电路原理图
  • ¥15 java,maven
  • ¥15 单独编译安卓13车载evs
  • ¥20 完成实验一,要求按照图片要求,实验报告一定要按照要求,并且回答简答题,截止日期明天中午12:00
  • ¥30 孪生网络模型,当训练集与测试集共用一个数据集时,训练准确率为100%,而测试准确率仍在50%左右浮动(正常来说测试的都是学习过的数据,准确率应为100%)。【不要GPT及任何大模型回答】
  • ¥15 关于#pynetdicom#的问题,如何解决?(标签-python|关键词 c_get、pydicom、pynetdicom)