Vue 2_4.vue的v-on鼠标移动事件和阻止事件传播

本文通过一个具体的代码示例,详细解释了Vue中使用v-on:mouseover事件绑定以及如何处理事件传播问题。当鼠标移动到textarea上时,原本会触发外层div的mouseover事件,通过event.stopPropagation()可以阻止事件冒泡,确保只执行textarea对应的事件处理函数。
摘要由CSDN通过智能技术生成

鼠标移动事件的关键字是v-on:mouseover,
例: v-on:mouseover=“divmouseover()”
接下来看下具体代码的编写:
在body中编写以下代码:

<body>
	<div id="jieke">
		<div id="div" v-on:mouseover="divmouseover()">
			<textarea  v-on:mouseover="textareamouseover()">这是一个文件域</textarea>
		</div>
	</div>
</body>	

在js中添加以下代码:

<script type="text/jscript">
	new Vue({
		el: "#jieke",
		methods:{
			divmouseover:function(){
				alert("鼠标移动到div上了");
			},
			textareamouseover:function(){
				alert("鼠标移动到textarea上了");
			}
		}
	}); 
</script>

在style中给div设置样式:

<style>
	#div{
		background-color: blue;
		width: 300px;
		height: 300px;
	}
</style>

对代码的说明:
在这里插入图片描述
运行效果:
(当鼠标移动到div上之后)
在这里插入图片描述
当鼠标移动到textarea上
在这里插入图片描述
在这里插入图片描述
此时我们发现当鼠标移动到textarea上之后不仅弹出了textareamouseover函数中的信息,在点击确定之后又弹出了divmouseover函数中的信息,这是因为我们的文件域也是属于div的,所以需要阻止事件的传播
此时需要在我们的textareamouseover函数中添加一行

event.stopPropagation();

即可
再次刷新页面鼠标悬停在textarea上就不会再触发div的onmouseover方法了

tips:@事件名称就是v-on事件名称的简写方式
@mouseover就等同于v-on:mouseover

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>