Vue事件修饰符

Vue事件修饰符


方法

  • .stop - 阻止冒泡
  • .prevent - 阻止默认行为//例如a标签的链接的弹出
  • .capture - 实现捕获触发事件//从内到外
  • .self - 只有点击当前元素才会触发事件
  • .once - 只触发一次事件处理函数

stop与self的区别

<div class="outer" @click="div2Handler">
	<div class="inner" @click="div1Handler">
		<input type="button" value="点击" @click.stop="bt1Handler">
	</div>
</div>

.self 只会阻止自己身上冒泡行为的触发,并不会真正阻止冒泡的行为。而.stop是停止冒泡行为。

总代码

<!doctype html>
	<head>
	<title>Vue事件修饰符</title>
	<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
	<style type="text/css">
		.inner{
			height:150px;
			background-color:#66ccff;
		}
	</style>
	</head>

	<body>
		


		<div id="app1">
			<div class="inner" @click="div1Handler">
				<input type="button" value="点击" @click="bt1Handler">
			</div>
			<!-- <div class="inner" @click="div1Handler">
				<input type="button" value="点击" @click.stop="bt1Handler">
			</div> -->
			<!-- <div class="inner" @click.capture="div1Handler">
				<input type="button" value="点击" @click="bt1Handler">
			</div> -->
			<!-- <div class="inner" @click.self="div1Handler">
				<input type="button" value="点击" @click="bt1Handler">
			</div> -->
			<!-- <a href="http://www.baidu.com" @click.once='linkClick'>百度</a> -->
			<!-- <a href="http://www.baidu.com" @click.prevent='linkClick'>百度</a> -->
		</div>

		<script type="text/javascript">
			var vm = new Vue({
				el: '#app1',
				data:{},
				methods: {
					div1Handler(){
						console.log('触发了inner div1点击事件')
					},
					bt1Handler(){
						console.log('触发了bt1点击事件')
					},
					linkClick(){
						console.log('触发了百度链接的点击事件')
					}
				}
			})
		</script>
	</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值