Vue 学习笔记(五)事件处理
事件处理
监听事件
- 可以用
v-on
指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码。
1 | <div id="example-1"> |
1 | var example1 = new Vue({ |
事件处理方法
- 在method中创建事件处理方法,然后使用
v-on
绑定对应方法名。
1 | <div id="example-2"> |
1 | var example2 = new Vue({ |
内联处理器中的方法
- 除了直接绑定到一个方法,也可以在内联 JavaScript 语句中调用方法。
1 | <div id="example-3"> |
1 | new Vue({ |
- 使用$event特殊变量可用于访问原始的DOM事件。
1 | <button v-on:click="warn('Form cannot be submitted yet.', $event)"> |
1 | // ... |
事件修饰符
- Vue.js 为
v-on
提供了事件修饰符。 - 修饰符是由点开头的指令后缀来表示的。主要有6个修饰符。
.stop
.prevent
.capture
.self
.once
.passive
- 使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用
v-on:click.prevent.self
会阻止所有的点击,而v-on:click.self.prevent
只会阻止对元素自身的点击。
1 | <!-- 阻止单击事件继续传播 --> |
按键修饰符
- Vue 允许为
v-on
在监听键盘事件时添加按键修饰符。 - 以下代码只有在 ‘key’是 ‘Enter’时会调用’vm.submit ’方法。
1 | <!-- 只有在 `key` 是 `Enter` 时调用 `vm.submit()` --> |
- 你可以直接将
KeyboardEvent.key
暴露的任意有效按键名转换为 kebab-case 来作为修饰符。
1 | <input v-on:keyup.page-down="onPageDown"> |
系统修饰键
- 可以用如下修饰符来实现仅在按下相应按键时才触发鼠标或键盘事件的监听器。
.ctrl
、.alt
、.shift
、.meta
。
- 修饰键与常规按键不同,在和
keyup
事件一起用时,事件触发时修饰键必须处于按下状态。 - 只有在按住
ctrl
的情况下释放其它按键,才能触发keyup.ctrl
。而单单释放ctrl
也不会触发事件。 - 如果你想要这样的行为,请为
ctrl
换用keyCode
:keyup.17
。
.exact修饰符
.exact
修饰符允许你控制由精确的系统修饰符组合触发的事件。
1 | <!-- 即使 Alt 或 Shift 被一同按下时也会触发 --> |
鼠标修饰符
.left
、.right
、.middle
。- 这些修饰符会限制处理函数仅响应特定的鼠标按钮。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 姚永坤的小窝!
评论