vue事件修饰符和按键修饰符用法总结


Posted in Javascript onJuly 25, 2017

之前关于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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 树形结构的选择器
Feb 15 Javascript
jQuery表单美化插件jqTransform使用详解
Apr 12 Javascript
超链接怎么正确调用javascript函数
May 23 Javascript
jQuery中ScrollTo用法示例
Sep 04 Javascript
Vue数据驱动模拟实现5
Jan 13 Javascript
Vue 进阶教程之v-model详解
May 06 Javascript
JS实现多物体运动的方法详解
Jan 23 Javascript
Vue.Draggable拖拽功能的配置使用方法
Jul 29 Javascript
json_decode 索引为数字时自动排序问题解决方法
Mar 28 Javascript
vue使用video插件vue-video-player详解
Oct 23 Javascript
微信小程序实现底部弹出模态框
Nov 18 Javascript
ES6中的类(Class)示例详解
Dec 09 Javascript
Vue.js学习笔记之修饰符详解
Jul 25 #Javascript
ES6正则表达式扩展笔记
Jul 25 #Javascript
简单实现js拖拽效果
Jul 25 #Javascript
Vue实现一个返回顶部backToTop组件
Jul 25 #Javascript
基于jquery实现多级菜单效果
Jul 25 #jQuery
关于TypeScript中import JSON的正确姿势详解
Jul 25 #Javascript
微信JSSDK调用微信扫一扫功能的方法
Jul 25 #Javascript
You might like
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
JavaScript使用prototype定义对象类型(转)[
2006/12/22 Javascript
checkbox 复选框不能为空
2009/07/11 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
JS 实现Table相同行的单元格自动合并示例代码
2013/08/27 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
2013/11/18 Javascript
js调试系列 断点与动态调试[基础篇]
2014/06/18 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
JS+CSS实现可拖动的弹出提示框
2015/02/16 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
代码分析jQuery四种静态方法使用
2015/07/23 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
AngularJS实现ajax请求的方法
2016/11/22 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
JS实现无限轮播无倒退效果
2020/09/21 Javascript
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
Python实现简单截取中文字符串的方法
2015/06/15 Python
tensorflow实现对图片的读取的示例代码
2018/02/12 Python
使用NumPy和pandas对CSV文件进行写操作的实例
2018/06/14 Python
Python实现深度遍历和广度遍历的方法
2019/01/22 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
pyCharm 实现关闭代码检查
2020/06/09 Python
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
Wedgwood英国官方网站:英式精致骨瓷餐具、礼品与生活精品,源于1759年
2019/09/02 全球购物
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
本科生详细的自我评价
2013/09/19 职场文书
聚美优品广告词改编
2014/03/14 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
大学学生个人总结
2015/02/15 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书