Vue.js 为 v-on 提供了事件修饰符来处理 DOM 事件细节,如:event.preventDefault() 或 event.stopPropagation()。
Vue.js通过由点(.)表示的指令后缀来调用修饰符。其中.stop就是用来阻止单击事件冒泡,用法如:
<a v-on:click.stop="doThis"></a>
下面是全部代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue .stop阻止冒泡</title> </head> <style> #aa { 150px;height: 150px;background:pink;} #bb {margin: 0 auto;text-align: center; 100px;height: 80px;background:orange;} </style> <body> <script type="text/javascript" src="vue.min.js"></script> <div id="app"> <div id="aa" @click="doaa"> <div id="bb" @click="dobb"> <a id="cc" @click.stop="docc" href="#">点我阻止冒泡</a> </div> </div> </div> <script type="text/javascript"> var vm=new Vue({ el:'#app', data:{ }, methods:{ doaa:function(){ alert("do aa");//点击cc部分,不发生冒泡 }, dobb:function(){ alert("do bb");//点击bb,即橙色,发生冒泡,执行函数dobb,doaa }, docc:function(){ alert("do cc---.stop"); } } }) </script> </body> </html>