鼠标|键盘事件

news/2025/2/26 15:42:24/文章来源:https://www.cnblogs.com/yizhouiqpl/p/18738638

在 Vue 中,@click 代表点击事件(单击)。对于双击、右击等其它鼠标操作,Vue 提供了对原生 DOM 事件的支持,你可以直接使用标准的 HTML DOM 事件名称,以下是一些常用事件:


鼠标相关的事件

  1. 单击事件 (click)

    <button @click="handleClick">单击我</button>
    
  2. 双击事件 (dblclick)

    <button @dblclick="handleDoubleClick">双击我</button>
    
  3. 右键点击事件 (contextmenu)

    <div @contextmenu.prevent="handleRightClick">右击我</div>
    
    • .prevent 修饰符可以阻止默认的右键菜单弹出。
  4. 鼠标按下事件 (mousedown)

    <div @mousedown="handleMouseDown">鼠标按下</div>
    
  5. 鼠标松开事件 (mouseup)

    <div @mouseup="handleMouseUp">鼠标松开</div>
    
  6. 鼠标移入事件 (mouseenter)

    <div @mouseenter="handleMouseEnter">鼠标移入</div>
    
  7. 鼠标移出事件 (mouseleave)

    <div @mouseleave="handleMouseLeave">鼠标移出</div>
    
  8. 鼠标移动事件 (mousemove)

    <div @mousemove="handleMouseMove">鼠标移动</div>
    
  9. 鼠标滚轮事件 (wheel)

    <div @wheel="handleMouseWheel">鼠标滚轮</div>
    

键盘相关的事件

  1. 按键按下事件 (keydown)

    <input @keydown="handleKeyDown" placeholder="按下任意键">
    
  2. 按键弹起事件 (keyup)

    <input @keyup="handleKeyUp" placeholder="按下并松开键">
    
  3. 按键按住事件 (keypress)

    ⚠️ 注意:keypress 在现代浏览器中已经废弃,建议使用 keydown


常用修饰符

Vue 提供了一些修饰符,用于简化事件处理逻辑:

  1. .prevent:阻止默认事件行为

    <a href="https://example.com" @click.prevent="handleClick">阻止跳转</a>
    
  2. .stop:阻止事件冒泡

    <div @click="handleParentClick"><button @click.stop="handleChildClick">点击我不会触发父级事件</button>
    </div>
    
  3. .capture:使用捕获模式

    <div @click.capture="handleCaptureClick">捕获模式点击</div>
    
  4. .self:仅当事件发生在自身时触发

    <div @click.self="handleClick">点击我之外的区域不会触发</div>
    
  5. .once:事件只触发一次

    <button @click.once="handleClick">只触发一次</button>
    
  6. .native:监听组件根元素的原生事件

    <custom-component @click.native="handleNativeClick"></custom-component>
    

组合键和特殊按键

对于键盘事件,Vue 提供了修饰符来简化按键监听:

<!-- 检测按下 "Enter" 键 -->
<input @keyup.enter="handleEnter" placeholder="按下 Enter 键"><!-- 检测按下 "Ctrl + S" -->
<div @keydown.ctrl.s="handleSave">按下 Ctrl + S 保存</div><!-- 支持其他键 -->
<div @keydown.esc="handleEscape">按下 Escape 键</div>

完整示例

<template><div><button @click="handleClick">单击</button><button @dblclick="handleDoubleClick">双击</button><div @contextmenu.prevent="handleRightClick">右击我</div><input @keyup.enter="handleEnter" placeholder="按下 Enter"></div>
</template><script>
export default {methods: {handleClick() {alert("单击事件触发");},handleDoubleClick() {alert("双击事件触发");},handleRightClick() {alert("右键事件触发");},handleEnter() {alert("按下 Enter 键");},},
};
</script>

总结

  • 单击:@click
  • 双击:@dblclick
  • 右击:@contextmenu
  • 鼠标相关事件如 mousedownmouseupmouseenter 等都可以直接使用。
  • 键盘事件支持 @keydown@keyup,并可以结合修饰符使用。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

REACT: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS

ReAct:结合推理(COT)和行动(动作生成)。 ReAct主要内容将COT方法与ACT方法结合起来,引入了 ReAct,这是一种新的基于提示的范式,旨在将推理和行动在语言模型中协同起来,以解决通用任务。 展示了在少样本学习设置中,ReAct 相较于仅进行推理或动作生成的先前方法的优势。…

数字孪生城市:北斗网格码破解地下管网难题!

城市地下管网如同人体的“血管”和“神经”,承载着供水、供电、燃气、通信等核心功能。然而,传统管理模式长期面临“看不见、摸不着、管不好”的困境:施工误挖、管线老化、信息孤岛等问题频发,每年因管网事故造成的经济损失高达数百亿元。如何破解这一难题?北斗网格码技术…

供应链管理系统--升鲜宝收银系统功能解析,登录、主界面UI 设计图(一)

供应链管理系统--升鲜宝收银系统功能解析,登录、主界面UI 设计图(一)登录界面

振动电阻式传感器测量模块 差动电阻式 驱动与测量RM502

振动电阻式传感器测量模块 差动电阻式 驱动与测量RM502RM502模块是一款高精度、多功能的传感器驱动与测量解决方案。本产品采用先进的模拟信号处理技术,专为差动电阻式传感器及其他高精度电阻测量应用而设计。通过恒流驱动与4路实时电流测量技术,配合高精度采样电阻,有效消除…

No.13 CSS--简介

一、CSS 1.1概念CSS(Cascading Style Sheets)层叠样式表,又叫级联样式表,简称样式表。 CSS文件后缀名为 .css。 CSS用于HTML文档中元素样式的定义。1.2 作用使用css的目的就是让网页具有美观一致的页面。1.3 语法CSS 规则由两个主要的部分构成 : 选择器,以及一条或多条声明(…

Go红队开发—并发编程

Go红队开发之并发编程目录并发编程go协程chan通道无缓冲通道有缓冲通道创建⽆缓冲和缓冲通道等协程sync.WaitGroup同步Runtime包Gosched()Goexit()区别同步变量sync.Mutex互斥锁atomic原子变量SelectTicker定时器控制并发数量核心机制并发编程阶段练习重要的细节端口扫描股票监…

【DeepSeek部署实战】正点原子RK3588开发板本地化部署DeepSeek R1 大模型视频教程来啦!

【视频发布】正点原子RK3588开发板本地化部署DeepSeek R1 大模型视频系列视频教程来啦!一、课程内容 承接上一次板端部署DeepSeek R1大模型的文档教程,应粉丝们的要求,本次推出视频教程,手把手教学实现端侧部署,无需依赖云端服务器即可本地化处理数据,功耗更低、成本更优…

接口新特性--java进阶day03

1.接口新特性 在JDk8和JDK9开始,接口可以定义普通方法这时就会感到很奇怪,明明之前说好接口只是用来制定规则的,为什么现在又可以定义普通方法了呢? 我们以一个公司案例进行讲解,公司1.0上线了接口,之后有新项目,要更新接口,但我们都知道,接口如果写了新的方法,之前所…

MySQL之navicat使用

1、下载navicat 包2、解压 3、找到navicat.exe 4 .密钥:NAVH-WK6A-DMVK-DKW3 5、查看ip地址6、关闭防火墙:ervice iptables stop7、连接配置编写 8、点击确定连接,显示如下 9、打开查询中,新建查询10、解决问题: 注意点:如果连接不上 1、关闭防火墙 service iptables …

Powershell实现圆缩小放大 (实时刷新窗口)

使用Powershell,创建实时刷新的窗口,绘制图形,这里以圆作为例子,做缩小放大动画。【分析】 Powershell是windows内置的自动部署平台,功能强大在于可以调取.net框架,因此,即使没有Opengl加持,也可以创建实时刷新的窗口。可以调用windows.Form程序集创建窗口,然后调用Sy…

LGP8125 [BalticOI 2021] The short shank 学习笔记

LGP8125 [BalticOI 2021] The short shank 学习笔记 Luogu Link 题意简述 有一列 \(N\) 个元素,第 \(i\) 个元素初始值 \(t_i\),而后会被更新为 \(\min_{j=lb=1}^{rb=i} t_j+(i-j)\)。现在给你 \(D\) 个隔板,如果在第 \(i\) 个和第 \(i+1\) 个之间放置,则有效果:\(\forall…

PPO和GRPO算法详解(持续更新中)

PPO 众所周知,PPO在LLM应用下, t时刻下,State就变成了query+output(<t) Reference是初始模型,举个例子可以认为是deepseek V3+SFT之后的模型,是不变的,是fozen model 从头开始推导一次: t0时刻:query输入到policy model里面,生成一个token,记为o1Reeference model…