vue《三》(事件对象(event)、事件冒泡、默认行为)

1.点击事件的event(事件对象)

<div id="test">
    <input type="button" value="按钮" v-on:click="show($event)">
</div>
var vm = new Vue({
                el:'#test',
                methods:{
                    show:function(event){
                        console.log(event);
                        alert(event.clientX); //X 这里边就是原生JS
                        alert(event.clientY);//Y
                    }
                }
            });

调用函数的时候传入一个$event参数进去,函数内部可以通过这个event参数,获取鼠标点击的X点和Y点。

2.事件冒泡


代码:

div id="test2">
    <div @click="show2()">
        <input type="button" value="冒泡" @click="show()">
    </div>
</div>
var vm2 = new Vue({
                el:'#test2',
                methods:{
                    show:function(){
                        alert(1);
                    },
                    show2:function(){
                        alert(2);
                    }
                }
            });
3. 阻止冒泡

在调用函数时传入:

代码:

<div id="test3">
    <div @click="show2()">
        <input type="button" value="阻止冒泡" @click="show()">
    </div>
</div>
var vm3 = new Vue({
                el:'#test3',
                methods:{
                    show:function(){
                        alert("事件一");
                        event.cancelBubble = true;//阻止冒泡
                    },
                    show2:function(){
                        alert("事件二");
                    }
                }
            });

4.默认事件(contextmenu右键菜单

代码: 

<div id="test4">
    <input type="button" value="默认事件" @contextmenu="show()">
</div>
var vm4 = new Vue({
                el:'#test4',
                methods:{
                    show:function(){
                        alert("事件");
                        //event.cancelBubble = true;//阻止冒泡
                    }
                }
            });

点击右键也会执行show()方法,但是执行完之后会打开右键菜单的默认行为。

阻止这种默认行为:@contextmenu.prevent="show()"

<div id="test4">
    <input type="button" value="默认事件" @contextmenu.prevent="show()">
</div>





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值