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 相关文章推荐
JS实现简单的顶部定时关闭层效果
Jun 15 Javascript
jQuery实现提示密码强度的代码
Jul 15 Javascript
直接拿来用的页面跳转进度条JS实现
Jan 06 Javascript
多种js图片预加载实现方式分享
Feb 19 Javascript
微信小程序 教程之事件
Oct 18 Javascript
原生js实现弹出层效果
Jan 20 Javascript
Vue2.0 UI框架ElementUI使用方法详解
Apr 14 Javascript
Three.js加载外部模型的教程详解
Nov 10 Javascript
React和Vue中监听变量变化的方法
Nov 14 Javascript
基于Vue实现电商SKU组合算法问题
May 29 Javascript
vue-cli 为项目设置别名的方法
Oct 15 Javascript
JavaScript实现鼠标移入随机变换颜色
Nov 24 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命名空间(namespace)的使用基础及示例
2014/08/18 PHP
重新认识php array_merge函数
2014/08/31 PHP
JQuery动态给table添加、删除行 改进版
2011/01/19 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
2015/10/28 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
2017/03/09 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
最新Javascript程序员面试试题和解题方法
2017/11/23 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
使用 Vue 实现一个虚拟列表的方法
2019/08/20 Javascript
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
vue调用语音播放的方法
2019/09/27 Javascript
Jquery属性的获取/设置及样式添加/删除操作技巧分析
2019/12/23 jQuery
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
Python读取YUV文件,并显示的方法
2018/12/04 Python
使用python将图片按标签分入不同文件夹的方法
2018/12/08 Python
selenium+python自动化测试之多窗口切换
2019/01/23 Python
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
CSS3结构性伪类选择器九种写法
2012/04/18 HTML / CSS
美国羊皮公司:Overland
2018/01/15 全球购物
小学端午节活动方案
2014/03/13 职场文书
技术入股合作协议书
2014/10/07 职场文书
企业开业庆典答谢词
2015/01/20 职场文书
辞职信标准格式
2015/02/27 职场文书
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python
Canvas如何做个雪花屏版404的实现
2021/09/25 HTML / CSS
python中数组和列表的简单实例
2022/03/25 Python