vue事件修饰符和按键修饰符用法总结
之前关于vue事件修饰符和按键修饰符的一点分析,最近需要回顾,就顺便发到随笔上了
在事件处理程序中调用 event.preventdefault() 或 event.stoppropagation() 是非常常见的需求。尽管我们可以在 methods 中轻松实现这点,但更好的方式是:methods 只有纯粹的数据逻辑,而不是去处理 dom 事件细节。
为了解决这个问题, vue.js 为 v-on 提供了 事件修饰符。通过由点(.)表示的指令后缀来调用修饰符。
.prevent .capture .self .once
<div @click='dothis' style="width:100px;height: 100px; background: red;"> 点击父元素 <a v-on:click.stop="dothis">点击子元素 </a> </div>
当点击父元素的时候,执行dothis,当点击子元素a的时候,这个点击动作不单单触发了a标签,同时也触发了div标签,这就是事件冒泡,所以假设上述例子中a标签为v-on:click='dothis',则dothis会被执行两次,父元素和子元素都执行了一次click事件,而.stop则是阻止事件冒泡,再次点击a标签,click事件只会执行一次
按键修饰符
在监听键盘事件时,我们经常需要监测常见的键值。 vue 允许为 v-on 在监听键盘事件时添加按键修饰符:
<input v-on:keyup.13="submit">
记住所有的 keycode 比较困难,所以 vue 为最常用的按键提供了别名:
<input v-on:keyup.enter="submit"> <input @keyup.enter="submit">
全部的按键别名:
.enter .tab .delete (捕获 “删除” 和 “退格” 键) .esc .space .up .down .left .right
可以通过全局 config.keycodes 对象自定义按键修饰符别名:
// 可以使用 v-on:keyup.f1 vue.config.keycodes.f1 = 112
按键修饰符
2.1.0 新增
可以用如下修饰符开启鼠标或键盘事件监听,使在按键按下时发生响应。
.ctrl .alt .shift .meta
注意:在mac系统键盘上,meta对应命令键 (⌘)。在windows系统键盘meta对应windows徽标键(⊞)。在sun操作系统键盘上,meta对应实心宝石键 (◆)。在其他特定键盘上,尤其在mit和lisp键盘及其后续,比如knight键盘,space-cadet键盘,meta被标记为“meta”。在symbolics键盘上,meta被标记为“meta” 或者 “meta”。
例如:
alt + c
<input @keyup.alt.67="clear">
ctrl + click
<div @click.ctrl="dosomething">do something</div>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: IF与Switch的选择结构使用