位置: IT常识 - 正文

Vue鼠标点击事件和键盘事件(vue鼠标点击事件点击改变效果,再次点击恢复效果)

编辑:rootadmin
Vue鼠标点击事件和键盘事件

目录

Vue中的鼠标点击事件修饰符:

vue的@click.prevent

vue的@click.stop

vue的@click.capture

vue的@click.once

vue的@click.self

vue的@click.passive

 vue的键盘相应事件

@keydown - 按下键盘上的任意一个键时触发的事件。

@keyup - 松开键盘上的任意一个键时触发的事件。

@keypress - 当按下字符键时触发的事件。

@keydown.[key] - 当按下特定键时触发的事件,可以通过键名进行绑定。

@keyup.[key] - 当松开特定键时触发的事件,可以通过键名进行绑定。

@keydown.[key].prevent - 当按下特定键时阻止默认行为,可以通过 prevent 修饰符实现。


Vue中的鼠标点击事件修饰符:1.prevent:阻止默认事件(常用);2. stop:阻止事件冒泡(常用);3.once:事件只触发一次(常用);4.capture:使用事件的捕获模式;5.self:只有event.target是当前操作的元素时才触发事件;6.passive:事件的默认行为立即执行,无需等待事件回调执行完毕;vue的@click.prevent

推荐整理分享Vue鼠标点击事件和键盘事件(vue鼠标点击事件点击改变效果,再次点击恢复效果),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue中鼠标事件,vue鼠标右键点击事件,vue实现点击事件,vue鼠标右键点击事件,vue模拟鼠标点击事件,vue模拟鼠标点击事件,vue鼠标左键点击事件,vue鼠标点击事件点击改变效果,再次点击恢复效果,内容如对您有帮助,希望把文章链接给更多的朋友!

@click.prevent 是 Vue 中的一个事件修饰符,用于阻止浏览器默认行为和事件冒泡。

在 Vue 组件中,当你使用 @click.prevent 修饰符时,Vue 会在触发 click 事件时调用事件处理程序,并且会使用 event.preventDefault() 方法阻止浏览器默认行为。例如,当你在一个链接上添加 @click.prevent 修饰符时,点击该链接不会导致浏览器跳转到链接的目标页面,而是只会调用事件处理程序。

此外,当你使用 @click.prevent 修饰符时,Vue 还会使用 event.stopPropagation() 方法阻止事件冒泡。这意味着,当你在一个具有嵌套结构的组件中添加 @click.prevent 修饰符时,如果你点击一个子组件,事件处理程序不会被传递到父组件中。只有当你在具有该修饰符的元素上直接点击时,才会触发事件处理程序。

例如,如果你在一个表单提交按钮上添加 @click.prevent 修饰符,点击该按钮不会导致表单提交,而只会调用事件处理程序。这对于需要在按钮被点击时进行一些自定义逻辑或者异步提交表单的情况非常有用。

vue的@click.stop

在Vue中,可以使用@click.stop来阻止事件冒泡。

事件冒泡是指事件从嵌套元素中的最深处向外传递的过程。当一个元素上触发了事件,它会向上冒泡到其父元素,直到传递到文档的根元素。这意味着在子元素上触发的事件也会在其祖先元素上触发。

如果你想阻止事件从子元素冒泡到父元素,可以在子元素上使用@click.stop指令。例如,下面的代码将阻止child元素的click事件冒泡到parent元素:

<div @click="parent"> <div @click.stop="child"></div></div>

在这个例子中,当用户点击child元素时,parent方法不会被调用,因为@click.stop阻止了事件冒泡到parent元素。

vue的@click.capture

@click.capture 是 Vue 中的一个事件修饰符,用于在触发事件时捕获所有的冒泡事件。

事件捕获和事件冒泡是两种不同的事件传播方式。在事件捕获阶段,事件从顶层元素逐级向下传递到目标元素;在事件冒泡阶段,事件从目标元素逐级向上传递到顶层元素。默认情况下,Vue 组件中的事件处理程序只会在事件冒泡阶段被调用。

当你使用 @click.capture 修饰符时,Vue 会在事件捕获阶段调用事件处理程序,而不是在事件冒泡阶段。这意味着事件处理程序将在子组件之前调用,而不是在子组件之后调用。

Vue鼠标点击事件和键盘事件(vue鼠标点击事件点击改变效果,再次点击恢复效果)

例如,如果你在一个包含多个子组件的组件上添加 @click.capture 修饰符,那么当你点击子组件时,事件处理程序将首先在父组件中被调用,然后才会在子组件中被调用。

这个修饰符通常用于需要在父组件中拦截事件并进行一些处理的情况,例如在组件外部点击时关闭下拉菜单。

vue的@click.once

@click.once 是 Vue 中的一个事件修饰符,用于绑定一个只会触发一次的点击事件处理程序。

当你在一个元素上添加 @click.once 修饰符时,Vue 会在该元素被点击一次时调用事件处理程序,并立即将该修饰符从事件中删除。这意味着,当你再次点击该元素时,不会再触发事件处理程序。

例如,你可以在一个打开对话框的按钮上添加 @click.once 修饰符,以确保对话框只会被打开一次。当用户再次点击该按钮时,不会再次打开对话框。

需要注意的是,@click.once 修饰符只会在绑定的元素上生效,如果该元素有子元素,并且你点击了其中一个子元素,那么该子元素的点击事件处理程序也会被触发。如果你希望只在点击该元素本身时触发事件处理程序,可以使用 @click.self.once 修饰符。

vue的@click.self

@click.self 是 Vue 中的一个事件修饰符,用于绑定一个只有在点击元素本身时才会触发的点击事件处理程序。

在 Vue 组件中,当你使用 @click.self 修饰符时,Vue 会在触发 click 事件时调用事件处理程序,但是只有当你直接点击该元素本身时才会触发。如果你点击该元素的子元素,事件处理程序不会被触发。

例如,当你在一个具有嵌套结构的组件中,需要在点击组件本身时进行一些自定义逻辑,而在点击组件内部的某个子元素时不进行任何操作时,你可以使用 @click.self 修饰符。

需要注意的是,@click.self 修饰符只会在绑定的元素上生效,如果该元素有子元素,并且你点击了其中一个子元素,那么该子元素的点击事件处理程序也会被触发。如果你希望只在点击该元素本身时触发事件处理程序,并且忽略子元素的点击事件处理程序,可以使用 @click.prevent 和 @click.stop 修饰符。

vue的@click.passive

@click.passive 修饰符可以在 Vue 组件中用于优化 click 事件的性能。下面是一个使用 @click.passive 修饰符的示例:

<template> <div @click="handleClick" @click.passive="handleClickPassive">Click me</div></template><script>export default { methods: { handleClick() { console.log('Clicked!'); // 阻止默认行为 event.preventDefault(); }, handleClickPassive() { console.log('Clicked (passive)!'); } }}</script>

在这个示例中,当你在 div 元素上点击时,会触发两个事件处理程序:handleClick 和 handleClickPassive。handleClick 方法会调用 event.preventDefault() 方法阻止默认行为,而 handleClickPassive 方法则使用了 @click.passive 修饰符告知浏览器该事件处理程序不会调用 event.preventDefault() 方法。

由于使用了 @click.passive 修饰符,浏览器可以在处理 click 事件时进行一些性能优化,从而提高性能和响应速度。

 vue的键盘相应事件

当我们在 Vue.js 中处理键盘事件时,通常需要使用以下几种键盘事件:

@keydown - 按下键盘上的任意一个键时触发的事件。<template> <div @keydown="onKeyDown"></div></template><script>export default { methods: { onKeyDown(event) { console.log('KeyDown event:', event.key); } }}</script>@keyup - 松开键盘上的任意一个键时触发的事件。<template> <div @keyup="onKeyUp"></div></template><script>export default { methods: { onKeyUp(event) { console.log('KeyUp event:', event.key); } }}</script>@keypress - 当按下字符键时触发的事件。<template> <div @keypress="onKeyPress"></div></template><script>export default { methods: { onKeyPress(event) { console.log('KeyPress event:', event.key); } }}</script>@keydown.[key] - 当按下特定键时触发的事件,可以通过键名进行绑定。<template> <div @keydown.enter="onEnterKeyDown"></div></template><script>export default { methods: { onEnterKeyDown() { console.log('Enter key is pressed!'); } }}</script>@keyup.[key] - 当松开特定键时触发的事件,可以通过键名进行绑定。<template> <div @keyup.enter="onEnterKeyUp"></div></template><script>export default { methods: { onEnterKeyUp() { console.log('Enter key is released!'); } }}</script>@keydown.[key].prevent - 当按下特定键时阻止默认行为,可以通过 prevent 修饰符实现。<template> <div @keydown.enter.prevent></div></template>

以上是常用的键盘事件,你可以根据实际需求进行选择和使用。在代码中,我们可以通过 event 参数来获取键盘事件的相关信息,如按下的键的名称、keyCode 码等等。通过键盘事件,我们可以实现一些常见的交互操作,例如:表单验证、搜索提示等等。

本文链接地址:https://www.jiuchutong.com/zhishi/293767.html 转载请保留说明!

上一篇:七个超级实用的 Vue 3 插件和库(七个超级实用的手机)

下一篇:【第十一届“泰迪杯”数据挖掘挑战赛】B题产品订单的数据分析与需求预测“解题思路“”以及“代码分享”

  • 空调wifi怎么连接手机(空调wifi怎么连接手机 什么原理啊)

    空调wifi怎么连接手机(空调wifi怎么连接手机 什么原理啊)

  • vivo NEX 3s是否有双扬声器(vivo nex 3s 5g怎么样)

    vivo NEX 3s是否有双扬声器(vivo nex 3s 5g怎么样)

  • 视频动态怎么保存到手机(视频动态怎么保存)

    视频动态怎么保存到手机(视频动态怎么保存)

  • 京东怎么退出品牌会员(京东在哪里退出)

    京东怎么退出品牌会员(京东在哪里退出)

  • 拼多多改sku降权吗(拼多多更改sku多久恢复权重)

    拼多多改sku降权吗(拼多多更改sku多久恢复权重)

  • 麦克风启用不成功是什么原因(麦克风启用不成功建议重新拨打苹果手机)

    麦克风启用不成功是什么原因(麦克风启用不成功建议重新拨打苹果手机)

  • 计算机hook啥意思(计算机go是什么意思)

    计算机hook啥意思(计算机go是什么意思)

  • 小米10经常无信号(小米10无信号反复重启)

    小米10经常无信号(小米10无信号反复重启)

  • windows系统有几个版本(win系统有几个)

    windows系统有几个版本(win系统有几个)

  • 小米手机有实况拍摄吗(小米手机有实况模式吗)

    小米手机有实况拍摄吗(小米手机有实况模式吗)

  • 可能认识的人怎么关闭(可能认识的人怎么换一批)

    可能认识的人怎么关闭(可能认识的人怎么换一批)

  • 华为荣耀9x盲人模式怎么关闭(华为荣耀9x盲人模式在哪)

    华为荣耀9x盲人模式怎么关闭(华为荣耀9x盲人模式在哪)

  • ie8以上浏览器都有什么(ie8.0以上浏览器是电脑浏览器吗)

    ie8以上浏览器都有什么(ie8.0以上浏览器是电脑浏览器吗)

  • 华为mate30带不带无线充电(华为mate30带不带红外功能)

    华为mate30带不带无线充电(华为mate30带不带红外功能)

  • word文献引用怎么标注(word文献引用怎么替换数字)

    word文献引用怎么标注(word文献引用怎么替换数字)

  • vivo27能不能扫脸解锁(vivox27能扫脸解锁吗)

    vivo27能不能扫脸解锁(vivox27能扫脸解锁吗)

  • 手机后台运行在哪里找(vivo手机怎么关闭正在运行的程序)

    手机后台运行在哪里找(vivo手机怎么关闭正在运行的程序)

  • 手机京东怎么取消退款(手机京东怎么取消学生认证)

    手机京东怎么取消退款(手机京东怎么取消学生认证)

  • 电脑病毒有哪些(电脑病毒有哪些图片)

    电脑病毒有哪些(电脑病毒有哪些图片)

  • 电视突然黑屏是什么毛病(电视突然黑屏是什么毛病能修好吗)

    电视突然黑屏是什么毛病(电视突然黑屏是什么毛病能修好吗)

  • 麒麟980和骁龙730对比(骁龙865 麒麟990)

    麒麟980和骁龙730对比(骁龙865 麒麟990)

  • 苹果一代笔怎么充电(苹果一代笔怎么连接平板)

    苹果一代笔怎么充电(苹果一代笔怎么连接平板)

  • 鼠标宏怎么设置(鼠标宏怎么设置压枪)

    鼠标宏怎么设置(鼠标宏怎么设置压枪)

  • 苹果8主板更换计划(苹果8主板更换价格)

    苹果8主板更换计划(苹果8主板更换价格)

  • Windows 7系统备份方式是什么?(win 7系统如何备份)

    Windows 7系统备份方式是什么?(win 7系统如何备份)

  • Windows11怎么设置自动登录?Windows11设置自动登录教程(windows11怎么设置锁屏时间)

    Windows11怎么设置自动登录?Windows11设置自动登录教程(windows11怎么设置锁屏时间)

  • 多交所得税退税会计分录
  • 5000以下固定资产怎么做账
  • 员工工资占公司收入比例怎么算
  • 固定资产一次性计入费用的账务处理
  • 过桥过闸通行费会计分录
  • 小规模纳税人无进项票怎么办
  • 土地增值税计税价格
  • 评估价与成交价相差多少合法
  • 退回投标保证金分录
  • 公司银行社保代缴怎么交
  • 收到采购款
  • 转让无形资产收入属于销售收入吗
  • 生产成本的明细账怎么登记
  • 公司怎么申请开票资格?
  • 2018年所得税表
  • 进项税发票不认证可以吗
  • 个人所得税税费种认定功能在哪里
  • 6位开票代码是什么意思
  • 报废固定资产收入计入什么科目
  • 工程未结算能主张工程款吗
  • 视同销售收入和成本如何确认
  • 分公司交总公司管理费怎么做账
  • 发票过期作废不了怎么办
  • 长期股权投资佣金手续费计入
  • 当月认证失控发票怎么做账处理?
  • 房企结转收入
  • 应收票据计入应收账款吗
  • 印花税的征收范围
  • 电子发票无法预览怎么弄
  • 应交增值税出口退税年末如何结转?
  • 存商品入成原材料怎么改?
  • 事业单位的费用
  • 现金日记账的收为什么不根据银行和现金相互划转
  • 回迁安置房开发商可以出售吗
  • 企业清算所得税申报
  • wordpress简码怎么用
  • 企业向个人提供咨询服务
  • 假如你知道这样是什么歌
  • 微信小程序开发一个多少钱
  • 前端工程化解决方案
  • 微信利用php创建文件
  • 微信php开发教程
  • mysql desc(DESCRIBE)命令实例讲解
  • 员工预支款计入什么科目
  • 归还长期借款会计分录例题
  • libev & libevent简介 IntelIOT 博客园
  • 现代服务业加计抵减最新政策2022
  • 铁路运费的印花税进什么科目
  • wordpress woocommerce 建站
  • 支付工程款的会计科目怎么写
  • 一般纳税人零申报报税流程
  • 合同取得成本的账务处理
  • 应付账款的入账价值应当包括增值税的进项税额
  • 除湿机计入固定费用吗
  • 企业现金购货限额
  • 融资租赁租金利息怎么算
  • 企业代理社保
  • 农行网银只有一张卡吗
  • 数据库中的内容怎么换行
  • php+mysql prepare 与普通查询的性能对比实例讲解
  • windows 10 build 9888
  • win7删除通知区域图标
  • ubuntu右上角没有键盘
  • 在Mac OS Yosemite 系统中如何发送超大邮件附件
  • macbookpro如何点击
  • linux w
  • win8商店还能用吗
  • linux查看hz
  • win10系统怎么cmd
  • linux查找文件语句
  • 怎么用winrar打包压缩文件
  • css图片标签
  • 使用Meteor配合Node.js编写实时聊天应用的范例
  • node.js中使用文件流进行文件复制,首先需要创建一个
  • 读取更新包文件发生错误
  • 用javascript
  • java script入门
  • 税务局电话咨询电话
  • 污水处理费收入
  • 企业所得税可以抵扣吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设