首页 > 代码库 > vue教程1-05 事件 简写、事件对象、冒泡、默认行为、键盘事件

vue教程1-05 事件 简写、事件对象、冒泡、默认行为、键盘事件

vue教程1-05 事件 简写、事件对象、冒泡、默认行为、键盘事件

v-on:click/mouseover......
    
    简写的:
    @click=""        推荐

    事件对象:
        @click="show($event)"
事件冒泡: 阻止冒泡: a). ev.cancelBubble=true; b). @click.stop 推荐
默认行为(默认事件): 阻止默认行为: a). ev.preventDefault(); b). @contextmenu.prevent 推荐
键盘: @keydown $event ev.keyCode @keyup 常用键: 回车 a). @keyup.
13 b). @keyup.enter 上、下、左、右 @keyup/keydown.left @keyup/keydown.right @keyup/keydown.up @keyup/keydown.down .....

 

简写的:  @click=""   推荐
<input type="button" value="http://www.mamicode.com/按钮" v-on:click="show()">
<input type="button" value="http://www.mamicode.com/按钮" @click="show()">
事件对象:@click="show($event)"
window.onload=function(){
            new Vue({
                el:‘#box‘,
                data:{

                },
                methods:{
                    show:function(ev,b){
                        alert(ev.clientX);
                        alert(b);
                    }
                }
            });
        };

<div id="box">
        <input type="button" value="http://www.mamicode.com/按钮" @click="show($event,112)">
    </div>

事件冒泡,
阻止冒泡:
a). ev.cancelBubble=true;

window.onload=function(){
            new Vue({
                el:‘#box‘,
                data:{

                },
                methods:{
                    show:function(ev){
                        alert(1);
                        ev.cancelBubble=true;
                    },
                    show2:function(){
                        alert(2);
                    }
                }
            });
        };

<div id="box">
        <div @click="show2()">
            <input type="button" value="http://www.mamicode.com/按钮" @click="show($event)">
        </div>
    </div>

 

b). @click.stop 推荐

<div id="box">
        <div @click="show2()">
            <input type="button" value="http://www.mamicode.com/按钮" @click.stop="show()">
        </div>
    </div>

默认行为(默认事件):
阻止默认行为:
a). ev.preventDefault();

window.onload=function(){
            new Vue({
                el:‘#box‘,
                data:{

                },
                methods:{
                    show:function(ev){
                        alert(1);
                        ev.preventDefault();//这里阻止了右击显示菜单的事件
                    }
                }
            });
        };

<div id="box">
        <input type="button" value="http://www.mamicode.com/按钮" @contextmenu="show($event)">
    </div>

 

b). @contextmenu.prevent 推荐

<div id="box">
        <input type="button" value="http://www.mamicode.com/按钮" @contextmenu.prevent="show()">
    </div>

键盘事件:
@keydown $event  ev.keyCode

window.onload=function(){
            new Vue({
                el:‘#box‘,
                data:{

                },
                methods:{
                    show:function(ev){
                        alert(ev.keyCode);
                    }
                }
            });
        };

<div id="box">
        <input type="text" @keydown="show($event)">
    </div>

@keyup

window.onload=function(){
            new Vue({
                el:‘#box‘,
                data:{

                },
                methods:{
                    show:function(ev){
                        alert(ev.keyCode);
                    }
                }
            });
        };

<div id="box"> <input type="text" @keyup="show($event)"> </div>

 

常用键:
1、回车
a). @keyup.13
b). @keyup.enter

window.onload=function(){
            new Vue({
                el:‘#box‘,
                data:{

                },
                methods:{
                    show:function(){
                        alert(‘您按回车了‘);
                    }
                }
            });
        };
<div id="box">
<!--<input type="text" @keyup.13="show()">-->
<input type="text" @keyup.enter="show()">
</div>
 

 

2、上、下、左、右
@keyup/keydown.left
@keyup/keydown.right
@keyup/keydown.up
@keyup/keydown.down

window.onload=function(){
            new Vue({
                el:‘#box‘,
                data:{

                },
                methods:{
                    show:function(){
                        alert("你按了左箭头←");
                    }
                }
            });
        };
<div id="box">
        <input type="text" @keyup.left="show()">
    </div>

 



vue教程1-05 事件 简写、事件对象、冒泡、默认行为、键盘事件