当前位置:   article > 正文

在 vue3 中用 event.stopPropagation() 方法阻止冒泡触发事件_vue3阻止事件冒泡

vue3阻止事件冒泡

vue 3 中,当父标签子标签同时存在事件时,例如@click 事件,那么当用户点击的时候,默认会先触发子标签点击事件,然后再冒泡触发父标签点击事件。通常我们在触发子标签的时候,我们不需要触发父标签的事件,那么需要用到 event.stopPropagation() 方法来阻止冒泡触发父标签的事件。这里为什么不使用 event.preventDefault()呢,event.preventDefault() 方法可以阻止事件的默认行为,但是它不会影响事件的冒泡行为。在 Vue 3 中,event.preventDefault() 可以用于阻止链接的默认跳转行为或提交表单等默认操作。例子如下:

  1. <template>
  2. <div @click="handleParentClick">
  3. <span @click="handleChildClick($event)">Click me</span>
  4. </div>
  5. </template>
  6. <script lang="ts" setup>
  7. const handleParentClick = () => {
  8. console.log('parent click')
  9. }
  10. const handleChildClick = (event : MouseEvent) => {
  11. //event.preventDefault();
  12. event.stopPropagation();
  13. console.log('child click')
  14. }
  15. </script>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/79358
推荐阅读