详解Vue3中的鼠标事件mousemove、mouseover和mouseout

news2024/12/25 9:27:14

在这里插入图片描述

本文主要介绍Vue3中的常见鼠标事件mousemove、mouseover和mouseout。

目录

  • 一、mousemove——鼠标移动事件
  • 二、mouseover——鼠标移入事件
  • 三、mouseout——鼠标移出事件

下面是Vue 3中常用的鼠标事件mousemove、mouseover和mouseout的详解。

一、mousemove——鼠标移动事件

鼠标移动事件会在鼠标指针在元素内部移动时触发。通过在模板中绑定@mousemove来监听鼠标移动事件。

具体使用方法如下:

  1. 在模板中绑定@mousemove事件,并指定一个方法作为事件处理函数:
<template>
  <div @mousemove="handleMouseMove"></div>
</template>
  1. 在Vue实例中定义handleMouseMove方法来处理鼠标移动事件:
<script>
export default {
  methods: {
    handleMouseMove(event) {
      // 处理鼠标移动事件的逻辑
      console.log("鼠标移动了");
    },
  },
};
</script>

handleMouseMove方法中,可以通过event参数来获取关于鼠标移动事件的信息,例如鼠标的坐标等。

另外,Vue3还提供了@mousemove.stop修饰符,用于阻止事件继续传播。

<template>
  <div @mousemove.stop="handleMouseMove"></div>
</template>

这样,当鼠标在元素内部移动时,只会触发handleMouseMove方法,不会触发父元素的鼠标移动事件。

二、mouseover——鼠标移入事件

mouseover事件是指鼠标指针进入元素时触发的事件。通过在HTML模板中使用v-on指令来绑定mouseover事件。

示例代码如下:

<template>
  <div>
    <div @mouseover="handleMouseOver">鼠标悬停在这里</div>
  </div>
</template>

<script>
export default {
  methods: {
    handleMouseOver() {
      console.log('鼠标悬停在元素上');
    }
  }
}
</script>

在上面的示例中,在div元素上使用了@mouseover指令,将其绑定到一个名为handleMouseOver的方法上。当鼠标悬停在该元素上时,handleMouseOver方法会被调用,并输出一条信息。

需要注意的是,由于Vue 3使用了Composition API,可以将mouse事件与其他响应式数据和方法结合使用。例如,可以在handleMouseOver方法中修改data中的某个值来实现一些交互效果。

<template>
  <div>
    <div @mouseover="handleMouseOver">鼠标悬停在这里</div>
    <p v-if="isHovered">鼠标已经悬停在元素上</p>
  </div>
</template>

<script>
import { reactive } from 'vue';

export default {
  setup() {
    const data = reactive({
      isHovered: false
    });

    const handleMouseOver = () => {
      data.isHovered = true;
    };

    return {
      data,
      handleMouseOver
    }
  }
}
</script>

在上面的示例中,使用了reactive函数将data对象包装成响应式对象,并通过调用handleMouseOver方法来修改isHovered的值。根据isHovered的值,我们可以条件地渲染一个p元素。

这就是Vue 3中使用mouseover事件的基本介绍。

三、mouseout——鼠标移出事件

mouseout事件是鼠标指针从一个元素移出时触发的事件。它通常用于捕捉鼠标移出元素的操作,并执行相应的操作或逻辑。

使用v-on指令来监听mouseout事件。

下面是一个示例:

<template>
  <div @mouseout="handleMouseOut">鼠标移出我时触发事件</div>
</template>

<script>
export default {
  methods: {
    handleMouseOut() {
      console.log('鼠标移出了元素');
      // 执行其他操作或逻辑
    }
  }
}
</script>

在上面的示例中,当鼠标移出<div>元素时,handleMouseOut方法会被调用,并打印出一条消息。

需要注意的是,mouseout事件是冒泡事件,即其会从触发元素开始向上冒泡到最外层的父元素。如果需要阻止冒泡,可以使用event.stopPropagation()方法。

<template>
  <div @mouseout="handleMouseOutParent">
    <div @mouseout="handleMouseOutChild">子元素</div>
  </div>
</template>

<script>
export default {
  methods: {
    handleMouseOutChild() {
      console.log('鼠标移出了子元素');
    },
    handleMouseOutParent() {
      console.log('鼠标移出了父元素');
    }
  }
}
</script>

在上面的示例中,当鼠标从子元素移出时,会先触发子元素的mouseout事件,然后再触发父元素的mouseout事件。

Vue 3中的mouseout事件可以通过v-on指令来监听,并且可以在方法中执行相应的逻辑。它是一个冒泡事件,可以通过event.stopPropagation()方法阻止冒泡。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1350603.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DevC++ easyx实现视口编辑--像素绘图板与贴图系统

到了最终成果阶段了&#xff0c;虽然中间有一些代码讲起来没有意思&#xff0c;纯靠debug,1-1解决贴图网格不重合问题&#xff0c;这次是一个分支结束。 想着就是把瓦片贴进大地图里。 延续这几篇帖子&#xff0c;开发时间也从2023年的4月16到了6月2号&#xff0c;80小时基本…

【K8S 部署】基于kubeadm搭建Kurbernetes集群

目录 一、基本架构 二、环境准备: 三、安装部署 1、所有节点安装docker 2、、所有节点安装kubeadm&#xff0c;kubelet和kubectl 3、配置网络--flannel 4、测试 pod 资源创建 四、安装部署与k8s集群对接的Harbor仓库 五、Dashboard安装部署&#xff1a; 一、基本架构…

jupyter notebook打开其他盘的文件

jupyter notebook打开其他盘文件 打开jupyter notebook打开terminal输入&#xff1a;jupyter-notebook 路径打开你想打开的工程的文件 打开jupyter notebook 打开terminal 输入&#xff1a;jupyter-notebook 路径 打开你想打开的工程的文件

【中小型企业网络实战案例 六】配置链路聚合

相关文章学习&#xff1a; 【中小型企业网络实战案例 五】配置可靠性和负载分担 热门IT课程【视频教程】&#xff08;思科、华为、红帽、oracle等技术&#xff09;https://xmws-it.blog.csdn.net/article/details/134398330?spm1001.2014.3001.5502 当CORE1或者CORE2的上…

【Elasticsearch源码】 分片恢复分析

带着疑问学源码&#xff0c;第七篇&#xff1a;Elasticsearch 分片恢复分析 代码分析基于&#xff1a;https://github.com/jiankunking/elasticsearch Elasticsearch 8.0.0-SNAPSHOT 目的 在看源码之前先梳理一下&#xff0c;自己对于分片恢复的疑问点&#xff1a; 网上对于E…

微服务雪崩问题及解决方案

雪崩问题 微服务中&#xff0c;服务间调用关系错综复杂&#xff0c;一个微服务往往依赖于多个其它微服务。 微服务之间相互调用&#xff0c;因为调用链中的一个服务故障&#xff0c;引起整个链路都无法访问的情况。 如果服务提供者A发生了故障&#xff0c;当前的应用的部分业务…

机器学习(二) -- 数据预处理(2)

系列文章目录 机器学习&#xff08;一&#xff09; -- 概述 机器学习&#xff08;二&#xff09; -- 数据预处理&#xff08;1-3&#xff09; 机器学习&#xff08;三&#xff09; -- 特征工程&#xff08;1-2&#xff09; 未完待续…… 目录 系列文章目录 前言 四、【数…

7、InternVL

简介 github demo 使用网络获取的油画图片&#xff0c;InternVL识别还算可以。 使用stable diffusion生成的图片&#xff0c;InternVL能很好的识别。 权重 huggingface地址 模型搭建 github地址 下载源码 git clone https://github.com/OpenGVLab/InternVL.git创建环…

提高软件测试效率:Mock 测试实战教程

在软件工程的套路中&#xff0c;虚拟化测试&#xff0c;又称 Mock 测试&#xff0c;扮演一个无可或缺的角色。Mock 测试允许工程师仿制和操控对象、服务或者系统组件等的行为&#xff0c;使得人们能在一个干净独立的环境里测试特定功能。这种方法能确保测试聚焦于代码逻辑&…

RocketMQ源码解析-主从同步原理(HA)

1、关键组件 主从同步的实现逻辑主要在HAService中&#xff0c;在它的构造函数中实例化了几个对象同时在start()方法内执行启动&#xff1a; public class HAService {public HAService(final DefaultMessageStore defaultMessageStore) throws IOException {this.defaultMes…

如何本地快速部署Apache服务器并使用内网穿透工具实现公网访问内网服务

文章目录 前言1.Apache服务安装配置1.1 进入官网下载安装包1.2 Apache服务配置 2.安装cpolar内网穿透2.1 注册cpolar账号2.2 下载cpolar客户端 3. 获取远程桌面公网地址3.1 登录cpolar web ui管理界面3.2 创建公网地址 4. 固定公网地址 前言 Apache作为全球使用较高的Web服务器…

Python零基础入门技能学习,实现办公自动化与数据分析

一、教程描述 Python零基础入门&#xff0c;写下你的第一行人工智能代码&#xff0c;Python实现办公自动化&#xff0c;这是比同事早下班2小时的技能&#xff0c;Python实现网络爬虫&#xff0c;用Python抓取网页信息提升职场竞争力&#xff0c;Python实现数据分析&#xff0c…

使用 go-elasticsearch v8 基本请求

使用 go-elasticsearch 请求示例 你可以通过参考Go 官方文档找到简单的示例&#xff0c;所以我认为先看看这个是个好主意。 连接客户端有两种方式&#xff0c;如下图。 至于两者的特点&#xff0c;TypedClient有类型&#xff0c;更容易编写&#xff0c;但文档较少。另外&…

jdk更改版本

要改三个地方 1、pom.xml里 2、File -> Project Structure -> Project File -> Project Structure -> Modules 3、File -> Settings -> targrt bytecode设为1.8

C语言学习----存储类别

存储类别 &#x1f33f;本文是C Primer Pluse 中文版第12章的部分内容整理 &#x1f331;主要是围绕C中作用域 链接 存储期 展开 &#xff0c;是后面进行多文件管理的基础~ &#x1f308;概要 &#x1f34e;明确对象 变量名 标识符的基本概念和含义 &#x1f350;作用域和链接描…

西尔维斯特方程(Sylvester equation)官方求解有问题

西尔维斯特方程&#xff08;Sylvester equation&#xff09;官方求解有问题 1. 西尔维斯特方程&#xff08;Sylvester equation&#xff09;1.1 以上所有矩阵都是2x2矩阵的演算形式 2. 官方求解Sylvester方程-错误2.1 官方求解形式2.2 2x2矩阵举例 3. Nicolas Andreff作者文章O…

PostgreSQL数据库的json操作

1.操作符 select json字段::json->key值 from order -- 对象域 select json字段::json->>key值 from order -- 文本 select json字段::json#>{key值} from order -- 对象域 select json字段::json#>>{key值} from order -- 文本对象域表示还能继续操作&#…

微服务智慧工地信息化解决方案(IOT云平台源码)

智慧工地是指应用智能技术和互联网手段对施工现场进行管理和监控的一种工地管理模式。它利用传感器、监控摄像头、人工智能、大数据等技术&#xff0c;实现对施工现场的实时监测、数据分析和智能决策&#xff0c;以提高工地的安全性、效率和质量。 智慧工地平台是一种智慧型、系…

听GPT 讲Rust源代码--library/alloc

File: rust/library/alloc/benches/slice.rs 在Rust源代码中&#xff0c;rust/library/alloc/benches/slice.rs文件的作用是对&[T]类型&#xff08;切片类型&#xff09;进行性能基准测试。该文件包含了对切片类型的一系列操作的基准测试&#xff0c;例如切片迭代、切片排序…

透明OLED屏批发:从价格到产品选择的全方位指南

随着科技的进步&#xff0c;透明OLED屏作为一种创新的显示技术&#xff0c;在各个领域都展现出巨大的应用潜力。对于希望在商业或个人应用中采用透明OLED屏的企业或个人&#xff0c;批发购买可能是一个经济高效的选择。尼伽小编将从本文将为您详细解析透明OLED屏批发的各个环节…