Vue.js 事件处理器
vue中 事件监听可以使用 v-on 指令
通常情况下,我们需要使用一个方法来调用 JavaScript 方法。
<div id="app"> <button v-on:click="handleClick">handleClick</button> </div> <script> var app = new Vue({ el: '#app', data: { name: 'Vue.js' }, methods: { handleClick: function (event) { alert('Hello ' + this.name + '!') if (event) { alert(event.target.tagName) } } } }) </script>
v-on 可以接收一个定义的方法来调用。
除了直接绑定到一个方法,也可以用内联 JavaScript 语句,这里就不做说明了。
事件修饰符
Vue 为 v-on 提供了事件修饰符来处理 DOM 事件细节,如:event.preventDefault() 或 event.stopPropagation()。
Vue 通过由点 . 表示的指令后缀来调用修饰符。
类型 | 说明 |
.stop | 阻止冒泡 |
.prevent | 阻止默认事件 |
.capture | 阻止捕获 |
.self | 只监听触发该元素的事件 |
.once | 只触发一次 |
.left | 左键事件 |
.right | 右键事件 |
.middle | 中间滚动事件 |
只当事件在该元素本身(而不是子元素)触发时触发回调
按键修饰符
vue 允许为 v-on 在监听键盘事件时添加按键修饰符:
<input v-on:keyup.13="submit">
记住所有的 keyCode 比较困难,所以 vue 为最常用的按键提供了别名:
名称 | 说明 |
.enter | 回车 |
.tab | 切换 |
.delete | 删除,退回 |
.esc | 取消 |
.space | 空格 |
.up | 上 |
.down | 下 |
.left | 左 |
.right | 右 |
.ctrl | |
.alt | |
.shift | |
.meta |