vue 事件修饰符 按键修饰符
事件修饰符
在事件处理程序中调用
event.preventDefault()
或event.stopPropagation()
是非常常见的需求。
.stop
阻止单击事件传播 即阻止了事件冒泡,相当于调用了event.stopPropagation方法(通俗讲就是阻止事件向上级DOM元素传递)
<div @click="show(1)"><div @click="show(2)">测试</div>
</div>
点击“测试”输出
<div @click="show(1)"><div @click.stop="show(2)">测试</div>
</div>
点击“测试”输出
.prevent
阻止了事件默认行为,相当于调用了event.preventDefault方法
默认事件指对DOM的操作会引起自动执行的动作,比如点击超链接的时候会进行页面的跳转,点击表单提交按钮时会重新加载页面等,使用".prevent"修饰符可以阻止这些事件的发生。
<!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form><!-- 修饰符可以串联 -->
<a v-on:click.stop.prevent="doThat"></a>
.capture
捕获冒泡,即有冒泡发生时,有该修饰符的dom元素会先执行,如果有多个,从外到内依次执行,然后再按自然顺序执行触发的事件。(让事件触发从包含这个元素的顶层开发往下依次触发)
<!-- 添加事件监听器时使用事件捕获模式 -->
<!-- 即内部元素触发的事件先在此处理,然后才交由内部元素进行处理 -->
<div v-on:click.capture="doThis">...</div>
.once
2.1.4新增
设置事件只能触发一次,比如按钮的点击等。
<!-- 点击事件将只会触发一次 -->
<a v-on:click.once="doThis"></a>
.self
注意:使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用
v-on:click.prevent.self
会阻止所有的点击,而v-on:click.self.prevent
只会阻止对元素自身的点击。
<!-- 只当在 event.target 是当前元素自身时触发处理函数 -->
<!-- 即事件不是从内部元素触发的 -->
<div @click.self="doThat">...</div>
.passive
2.3.0新增
该修饰符大概意思用于对DOM的默认事件进行性能优化,根据官网的例子比如超出最大范围的滚动条滚动的。
以移动端监听元素滚动事件说明,在监听元素滚动事件的时候,会一直触发onscroll事件让页面变的越来越卡,因此在我们使用这个修饰符后,相当于给onscroll事件增加了.lazy修饰符
<!-- 滚动事件的默认行为 (即滚动行为) 将会立即触发 -->
<!-- 而不会等待 `onScroll` 完成 -->
<!-- 这其中包含 `event.preventDefault()` 的情况 -->
<div v-on:scroll.passive="onScroll">...</div>
不要把
.passive
和.prevent
一起使用,因为.prevent
将会被忽略,同时浏览器可能会向你展示一个警告。请记住,.passive
会告诉浏览器你不想阻止事件的默认行为。
.native
在父组件中给子组件绑定一个原生的事件,就将子组件变成了普通的HTML标签,不加'. native'事件是无法触 发的。
让组件变成像html内置标签那样监听根元素的原生事件,否则组件上使用v-on只会监听自定义事件
按键修饰符
在监听键盘事件时,我们经常需要检查详细的按键。Vue 允许为
v-on
在监听键盘事件时添加按键修饰符
键盘修饰符用来修饰键盘的事件(如:onkeyup、onkeydown等),键盘的事件触发需要相对应的keyCode。然而keyCode存在很多,因此为了使用方便Vue给我们提供了别名的修饰符,分为以下两种:
普通按键(enter、delete、space、tab、esc…)
系统修饰键(ctrl、shift、alt…)
也可以直接用按键的代码来做修饰符(如:enter为13)
<!-- 只有在 `key` 是 `Enter` 时调用 `vm.submit()` -->
<!-- 键修饰符,键别名 -->
<input @keyup.enter="submit">
<!-- 键修饰符,键代码 -->
<input @keyup.13="onEnter">
为了在必要的情况下支持旧浏览器,Vue 提供了绝大多数常用的按键码的别名:
.enter
.tab
.delete
(捕获“删除”和“退格”键).esc
.space
.up
.down
.left
.right
同样vue监听按键事件也可以添加其他的按键:只要加上相应的按键的名称就行了
例如:@keyup.tab="";@keyup.delet = "";
里面写按键触发执行的事件就可以了。
参考来源:Vue常用的修饰符及使用的场景_Arvin-wm的博客-CSDN博客_vue常用的修饰符及作用
vue 事件修饰符 按键修饰符相关推荐
- 事件——事件绑定||事件函数传参||事件修饰符||按键修饰符||自定义按键修饰符
事件绑定 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8& ...
- 五、伊森商城 前端基础-Vue v-on 事件修饰符 按键修饰符 v-for v-if 和v-show v-else和v-else-if p24
目录 1.v-on 2.事件修饰符 3.按键修饰符 3.1.组合按钮 4.v-for 5.v-if和v-show 6.v-else 和 v-else-if 6.1.v-if结合v-for来时用 1.v ...
- vue 事件修饰符与按键修饰符
事件修饰符 在事件处理程序中调用 event.preventDefault() 或 event.stopPropagation() 是非常常见的需求.尽管我们可以在方法中轻松实现这点,但更好的方式是: ...
- vue学习:事件传递(冒泡和捕获),事件委托,jquery中的事件委托,$event 获取元素,vue事件修饰符
事件传递 ----冒泡和捕获 DOM事件标准定义了两种事件流,这两种事件流分别是捕获和冒泡. 和许多Web技 术一样,在它们成为标准之前,Netscape和微软各自不同地实现了它们.Netscape选 ...
- Vue 事件绑定 事件修饰符 条件判断 循环遍历
事件绑定 v-on:事件 简写:@事件 <div id="app"><h2>{{counter}} </h2><button v-on:c ...
- 22. Vue keycodes按键修饰符
需求 在业务开发中,例如:用户登录添加用户名和密码之后,按下回车键完成登录,这个操作就需要绑定按键的keyup事件,并且还要使用按键修饰符来指定按下的键盘按钮. 下面来看看另一个需求来逐步认识一下按钮 ...
- 按键修饰符、系统修饰符、鼠标修饰符
按键修饰符: 在监听键盘事件时,我们经常需要检查详细的按键.Vue 允许为 v-on 在监听键盘事件时添加按键修饰符: <!-- 只有在 `key` 是 `Enter` 时调用 `vm.subm ...
- Vue事件绑定(非常详细哦~)
下面是对Vue中事件绑定的整理,希望可以帮助到有需要的小伙伴~ 事件绑定 vue如何处理事件 v-on指令用法 <input type= 'button"v-on:click=&quo ...
- Vue之@click、事件修饰符@click.stop与@click.prevent、按键修饰符@keyup.enter
1.绑定监听@click: (以监听click为例,其他如keyup,用法类似) v-on:click="fun" @click="fun" @cli ...
最新文章
- vue 富文本存储_Vue富文本编辑器
- vsnprintf的作用和使用
- JS中调用本地Winform程序并传递参数
- 平顶山学院java实验室_重点学科(实验室)建设规划
- 密码学专题 序列号文件
- 【vue-element-admin 】侧栏原始图标颜色一键指定
- Pentium Pro架构/流水线及其优化 (3) - 指令流水线/乱序执行核/高速缓存/分支预测/指令预取
- 途家民宿4月26日后停止20城直营业务
- ctreectrl 设置选中_CTreeCtrl点击获得选中项
- Rust 生命周期太难学、最想实现与 C++ 互操作,Rust 2020 调查报告发布!
- 学习戴铭博文《从 ReactiveCocoa 中能学到什么?不用此库也能学以致用》的总结...
- 死磕 18 个 Java 8 的日期处理,工作必用!
- Java为什么要有堆外内存_作为 Java 开发者,你需要了解的堆外内存知识
- VB 显示当前时间 24小时制
- 基于STM32的电磁寻迹智能车硬件部分总结
- 第68页的gtk+编程例子——选择菜单
- 2020第三届微软Project用户大会暨年终项目管理专业化与信息化论坛
- 计算机类专业英文缩写,计算机专业英文缩写词汇汇总
- Codeforces Round #717 Div.2
- Google Map Key申请流程