-
Vue事件修饰
1.v-on 的使用
v-on绑定事件 用法 如:
<div id=”app” v-on:click.stop=”functonName”>
<button v-on:click.stop=”functonName”></button>
<a herf=https://www.baidu.com v-on:click.prevent></a>
<input type=”text” v-on:keyup.enter=”functionName”>
</div>
<script>
new Vue({
el:”#app”,
methods:{
showsome:function(evevt){
if(event.which==13)
{
alert(you pressed enter)
}
}}
})
</script>
点击button时会有一个冒泡事件在div上 那阻止该冒泡事件的方法是在事件后加上.stop
点击a标签时 不仅会执行click事件 同时也会触发他的一个默认事件 a标签会进行跳转
那我们阻止他的默认事件的方法是在事件后加上.prevent 此时点击a标签什么都不会发生 阻止了他的默认的跳转
在input输入框中进行输入 给v-on的绑定事件keyup事件后加上.enter 当按回车健(enter)时,才会触发函数,那如果不使用这个.enter 我们需要在函数里做一个判断 判断他的一个键值是不是等于13 如果等于的话继续执行函数 那我们在事件后加上.enter就可以把上面的methods改写为下面的代码
methods:{
showsome:function(){
alert(you pressed enter)}
}
不止有enter 我们也可以写上.space(空格键).esc(退出键)等等
或者写.13(13为enter键的键值也是可以的)
2.事件修饰符是可以通过链式调用的
按键修饰符:(只能是在iuput框这种可以输入的地方使用)
比如说 我既想enter键触发 也想 space键触发 那我就可以写成:
v-on:keyup.enter,space=”functionNane”
3.系统修饰符:(可以在任何事件地方修饰)
比如说:
<button v-on:click.shif=”functionName”>shift</button>
那个时候我们点击这个shift不会触发事件 那这个时候我们按下shift键 并点击鼠标左键就可以触发事件了
也就是说 系统修饰符和你当前要做的这个操作一个去做 才会触发这个函数
比如说我们有如下代码
<input type=”text” v-on:keyup.shift=”functionName”>
单看我们就会理解为 shift触发这个事件 但事实并不是这样
我们必须shift键和其他键一起按 才会触发这个事件