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="按钮" 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 id="box"> <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 id="box"> <div @click="show2()"> <input type="button" value="按钮" @click="show($event)"> </div> </div>
b). @click.stop 推荐
<div id="box">
<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 id="box"> <input type="button" value="按钮" @contextmenu="show($event)"> </div>
b). @contextmenu.prevent 推荐
<div id="box">
<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 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>