Vue.js事件处理:获取事件对象、阻止冒泡与默认行为详解

作者:青团子时间:2026-10-21 23:53:10浏览:600

本文详细解析Vue.js中的事件处理机制,涵盖如何获取原生事件对象、利用.stop修饰符阻止事件冒泡,以及使用.prevent修饰符阻止默认行为。通过具体代码示例,清晰展示@click、@contextmenu等指令的实际应用,帮助开发者掌握Vue中常见的事件控制技巧。

Vue事件处理概述

本文整理并精简了关于Vue.js中事件对象、事件冒泡及阻止默认行为的相关代码,旨在提供清晰的实践参考。

获取事件对象

在Vue中获取事件对象


<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title></title>
  <script src="../js/Vue.js" charset="utf-8"></script>
  <script type="text/javascript">
   window.onload = function(){
    var vm = new Vue({
     el:'#box',
     data:{},
     methods:{
      show:function(ev){
       alert(ev.clientX);
       alert(ev.clientY);
      }
     }
    });
   }
  </script>
 </head>
 <body>
  <div id="box">
   <input type="button" name="" value="按钮" @click="show($event)">
  </div>
 </body>
</html>

阻止事件冒泡

通过代码示例演示如何阻止事件冒泡


<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title></title>
  <script src="../js/Vue.js" charset="utf-8"></script>
  <script type="text/javascript">
   window.onload = function(){
    var vm = new Vue({
     el:'#box',
     data:{},
     methods:{
      show:function(){
       alert(111);
      //原生的写法
      //ev.cancelBubble = true;
      },
      show2:function(){
       alert(222);
      }
     }
    });
   }
  </script>
 </head>
 <body>
  <div id="box">
   <div @click="show2()">
    <input type="button" name="" value="按钮" @click.stop="show()">
   </div>
  </div>
 </body>
</html>

阻止默认行为

介绍如何阻止事件的默认行为


<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title></title>
  <style>
    .show2{
      padding:15px;;
    }
  </style>
  <script src="../js/Vue.js" charset="utf-8"></script>
  <script type="text/javascript">
    window.onload = function () {
      var vm = new Vue({
        el: '#box',
        data: {},
        methods: {
          show: function () {
            alert(111)
          },
          show2: function () {
            alert(222)
          }
        }
      });
    }
  </script>
</head>
<body>
<div id="box">
  <div class="show2">
    <input type="button" name="" value="按钮" @contextmenu.prevent="show()">
  </div>
</div>
</body>
</html>

总结

希望上述关于Vue事件对象、冒泡及阻止默认行为的介绍能对您有所帮助。如需深入学习Vue,请持续关注本站后续内容。

作者最新文章