vue基础之事件简写、事件对象、冒泡、默认行为

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="按钮" v-on:click="show()"> <input type="button" value="按钮" @click="show()">

事件对象:@click="show($event)"

window.onload=function(){ new Vue({ el:'#box', data:{ }, methods:{ show:function(ev,b){ alert(ev.clientX); alert(b); } } }); };

<div> <input type="button" value="按钮" @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> <div @click="show2()"> <input type="button" value="按钮" @click="show($event)"> </div> </div>

b). @click.stop 推荐

<div> <div @click="show2()"> <input type="button" value="按钮" @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> <input type="button" value="按钮" @contextmenu="show($event)"> </div>

b). @contextmenu.prevent 推荐

<div> <input type="button" value="按钮" @contextmenu.prevent="show()"> </div>

键盘事件:

@keydown        $event  ev.keyCode

window.onload=function(){ new Vue({ el:'#box', data:{ }, methods:{ show:function(ev){ alert(ev.keyCode); } } }); };

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

@keyup

window.onload=function(){ new Vue({ el:'#box', data:{ }, methods:{ show:function(ev){ alert(ev.keyCode); } } }); };

<div> <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> <!--<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> <input type="text" @keyup.left="show()"> </div>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/dde0e708303b9f52c1f15f57db79d6d4.html