Vue 实现 Hover 功能( mouseover 与 mouseenter 的区别)

一、mouseover 和 mouseenter 的区别
1.mouseover:当鼠标移入元素或其子元素都会触发事件,所以有一个重复触发,冒泡过程。对应的移除事件是 mouseout

2.mouseenter:当鼠标移入元素本身(不包含元素的子元素)会触发事件,也就是不会冒泡。对应的移除事件是 mouseleave

案例代码

<template>
  <div
    class="hover-view"
    @mouseover="mouseover"
    @mouseenter="mouseenter"
    @mousemove="mousemove"
    @mouseout="mouseout"
    @mouseleave="mouseleave"
    @mousedown="mousedown"
    @mouseup="mouseup"
  >
  </div>
</template>

<script>
export default {
  methods: {
    // 1、进入元素
    mouseover () {
      console.log('mouseover')
    },
    // 2、进入元素
    mouseenter () {
      console.log('mouseenter')
    },
    // 3、移动
    mousemove () {
      console.log('mousemove')
    },
    // 4、离开元素
    mouseout () {
      console.log('mouseout')
    },
    // 5、离开元素
    mouseleave () {
      console.log('mouseleave')
    },
    // 6、鼠标在元素上 按下
    mousedown () {
      console.log('mousedown')
    },
    // 7、鼠标在元素上 抬起
    mouseup () {
      console.log('mouseup')
    }
  }
}
</script>

<style>
.hover-view {
  width: 100px;
  height: 100px;
  background-color: red;
}
</style>

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中,`mouseenter`和`mouseover`是两个常用的事件,它们都是鼠标移入元素时触发的事件,但它们有一些细微的差别。 `mouseenter`事件只有在鼠标移入元素本身时才会触发,不会被子元素的移入所触发。而`mouseover`事件则会在鼠标移入元素或其子元素时都会触发。 这两个事件在Vue中的使用方式是通过绑定事件监听器来实现。例如,在Vue模板中可以这样使用: ```vue <template> <div @mouseenter="handleMouseEnter" @mouseover="handleMouseOver"> Hover me </div> </template> <script> export default { methods: { handleMouseEnter() { // 处理mouseenter事件 }, handleMouseOver() { // 处理mouseover事件 }, }, }; </script> ``` 在上述代码中,当鼠标移入`<div>`元素时,`handleMouseEnter`方法会被调用;当鼠标移入`<div>`元素或其子元素时,`handleMouseOver`方法会被调用。 需要注意的是,在使用这两个事件时,可以通过方法绑定的方式来传递参数。例如,如果需要传递额外的参数给事件处理函数,可以这样做: ```vue <template> <div @mouseenter="handleMouseEnter('param1', 'param2')" @mouseover="handleMouseOver('param1', 'param2')"> Hover me </div> </template> <script> export default { methods: { handleMouseEnter(param1, param2) { // 处理mouseenter事件,并使用传递的参数 }, handleMouseOver(param1, param2) { // 处理mouseover事件,并使用传递的参数 }, }, }; </script> ``` 在上述代码中,`handleMouseEnter`和`handleMouseOver`方法都接受两个参数,并且在事件绑定时传递了`'param1'`和`'param2'`作为参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值