怎样在 Vue 中使用 事件修饰符 ?
Vue 中可以通过 v-on 来绑定事件监听函数, 不过事件会有许多额外情况, 比如 是否阻止冒泡 / 是否阻止重载 / 是否限制点击次数 / 是否可以通过按键触发 等等. 这时就需要使用到 事件修饰符. 下面是 vue 的 事件修饰符 和 按键修饰符.
事件修饰符
<!-- 阻止单击事件冒泡 -->
<a v-on:click.stop="doThis"></a> <!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form> <!-- 修饰符可以串联 -->
<a v-on:click.stop.prevent="doThat"></a> <!-- 只有修饰符 -->
<form v-on:submit.prevent></form> <!-- 添加事件侦听器时使用事件捕获模式 -->
<div v-on:click.capture="doThis">...</div> <!-- 只当事件在该元素本身(而不是子元素)触发时触发回调 -->
<div v-on:click.self="doThat">...</div> <!-- click 事件只能点击一次,2.1.4版本新增 -->
<a v-on:click.once="doThis"></a>
按键修饰符
<!-- 只有在 keyCode 是 13 时调用 vm.submit() -->
<input v-on:keyup.13="submit"> <!-- 同上 -->
<input v-on:keyup.enter="submit"> <!-- 缩写语法 -->
<input @keyup.enter="submit"> <!-- 所有按键别名 -->
.enter
.tab
.delete (捕获 "删除" 和 "退格" 键)
.esc
.space
.up
.down
.left
.right
.ctrl
.alt
.shift
.meta
下面是一个实际的例子, 执行顺序为: 最外层 > 第二层 > 最里层 > 第三层
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<title>Vue Test</title>
<style>
.style1 {
width: 100px; height: 100px; background-color: tomato;
text-align: center; line-height: 100px; color: white;
cursor: pointer;
}
</style>
</head>
<body>
<div id="app">
<div class="style1" v-on:click.capture="act1">
<!-- 最外层 -->
<div v-on:click.capture="act2">
<!-- 第二层 -->
<div v-on:click="act3">
<!-- 第三层 -->
<div v-on:click="act4">
<!-- 最里层 -->
点击
</div>
</div>
</div>
</div>
</div>
<script>
var vApp = new Vue({
el: "#app",
methods: {
act1: function () { alert("最外层") },
act2: function () { alert("第二层") },
act3: function () { alert("第三层") },
act4: function () { alert("最里层") }
}
})
</script>
</body>
</html>
怎样在 Vue 中使用 事件修饰符 ?的更多相关文章
- vue中的事件修饰符
		
vue提倡的是在方法中只有对数据的处理,所以提供了事件修饰符用于DOM的事件处理,常用的事件修饰符有以下几个: (1). stop:阻止冒泡(通俗讲就是阻止事件向上级DOM元素传递) 点击内层div的 ...
 - 33、vue中的事件修饰符.stop、.prevent、.self、.capture、.once
		
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - (二)咋使用VUE中的事件修饰符
		
1,stop修饰符:阻止事件冒泡 首先我们要明确H5的事件是从内向外进行冒泡的,写一个简单的DEMO 当我们点击按钮时,事件从内向外冒泡,依次触发绑定的事件,控制台信息如下 现在我们在click后面添 ...
 - vue中的.passive修饰符
		
一.passive作用 详情请参考MDN(https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener)中 ...
 - [vue]vue v-on事件绑定(原生修饰符+vue自带事件修饰符)
		
preventDefault阻止默认行为和stopPropagation终止传递 event.preventDefault() 链接本来点了可以跳转, 如果注册preventDefault事件,则点了 ...
 - vue指令与事件修饰符
		
一.条件渲染指令 vue中提供了两个指令可以用于判断是否要显示元素,分别是v-if和v-show. 实例: <!DOCTYPE html> <html lang="en&q ...
 - vue学习(六)  事件修饰符 stop prevent capture self once
		
//html <div id="app"> <div @click="divHandler" style="height:150px ...
 - Vue指令之事件修饰符
		
事件修饰符: + .stop 阻止冒泡 + .prevent 阻止默认事件 + .capture 添加事件侦听器时使用事件捕获模式 + .self 只当事件在该元素本身(比如不是子元素)触发时触发回调 ...
 - vue中的.native修饰符
		
如果你想在某个组件的根元素上绑定事件,直接使用 @click=''function' 是不生效的,我们可以添加.native修饰符 @click.native=''function'',请看以下dem ...
 
随机推荐
- 【Android】【踩坑日记】RecyclerView获取子View的正确姿势
			
开发过程中发现RecyclerView.getChildAt(position)为空的情况,但是明明这个position却没有越界. 解决办法:用recycler.getLayoutManager() ...
 - python并发——进程间同步和通信
			
一.进程间同步 对于一些临界资源,不能使用并发无限消耗,就需要设置专门的临界标示,比如锁或者信号量等 from multiprocessing import Process, Lock import ...
 - Ubuntu安装Redis及使用
			
NoSQL简介NoSQL,全名为Not Only SQL,指的是非关系型的数据库随着访问量的上升,网站的数据库性能出现了问题,于是nosql被设计出来 优点/缺点优点:高可扩展性分布式计算低成本架构的 ...
 - Error, DNGuard Runtime library not loaded!
			
// Token: 0x06008CE9 RID: 36073 RVA: 0x0059629A File Offset: 0x00591E9A [MethodImpl(MethodImp ...
 - 笔记:YSmart: Yet Another SQL-to-MapReduce Translator
			
http://web.cse.ohio-state.edu/hpcs/WWW/HTML/publications/papers/TR-11-7.pdf Introduce样例sql语句:" ...
 - mac 配置apache
			
Apache配置 对httpd.conf文件的配置.首先打开 /etc/apache2/httpd.conf文件,也就是Apache2.4的相关配置文件. 连接php 首先我们将相应的PHP版本配置进 ...
 - 2965 -- The Pilots Brothers' refrigerator
			
The Pilots Brothers' refrigerator Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 27893 ...
 - Mysql忘记密码,支持中文,tab补全
			
忘记Mysql密码: (1)暂停服务: /etc/init.d/mysqld stop (2)跳过grant表授权,进入安全模式,并在后台运行: mysqld_safe --skip-grant-ta ...
 - Win10设置文件夹权限报错-(提示:无法枚举容器中的对象 访问被拒绝)
			
一.右击文件 选择“属性”-“安全”-“高级”,如下图 二.查看哪个用户的权限是:“完全控制”,我这里是“SYSTEM”用户. 三.选择顶部的 “更改-“高级”-“立即查找”,然后选择管理员账户“SY ...
 - Linux开机启动过程分析
			
开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程.分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径. 启动第一步--加载BIOS 当 你打开计算机电源,计算 ...