整理文档,搜刮出一个vue2.0的contextmenu右键弹出菜单的实例代码,稍微整理精简一下做下分享。
1.事情对象
<script type="text/javascript">
window.onload = function(){
var vm = new Vue({
el:'#Box',methods:{
show:function(event){
console.log(event); //event 这个就是事件对象了
}
}
});
}
通过show($event)把事件对象传到方法里
2.事件冒泡
<script type="text/javascript">
window.onload = function(){
var vm = new Vue({
el:'#Box',methods:{
show:function(){
alert(1);
},show1:function(){
alert(2);
}
}
});
}
点击按钮的话他会,执行show,show1方法,依次弹出1,2。
怎么来阻止
<1> 利用我们上面讲过的event对象: event.cancelBubble = true; //这种就阻止了
<script type="text/javascript">
window.onload = function(){
var vm = new Vue({
el:'#Box',methods:{
show:function(event){
alert(1);
event.cancelBubble = true;
},show1:function(){
alert(2);
}
}
});
}
<2>利用vue的方法阻止冒泡:给HTML元素绑定click事件的时候,改为@click.stop="show()"
<script type="text/javascript">
window.onload = function(){
var vm = new Vue({
el:'#Box',methods:{
show:function(event){
alert(1);
//event.cancelBubble = true;
},show1:function(){
alert(2);
}
}
});
}
3.默认行为
比如contextmenu右键菜单
<script type="text/javascript">
window.onload = function(){
var vm = new Vue({
el:'#Box',show1:function(){
alert(2);
}
}
});
}
<p>//按钮右击点下去会依次出现 弹窗 1, 还有右击的<a href="https://www.jb51.cc/tag/mo/" target="_blank" class="keywords">默</a>认<a href="https://www.jb51.cc/tag/caidan/" target="_blank" class="keywords">菜单</a></p>
<p>//按钮1右击只出现 弹窗 2</p>