前端vue2学习(事件处理)总结

事件处理

<div id="root"><h2>事件处理,hello,{{name}}</hr><button v-on:click="showInfo1">点我提示信息1(不传参)</botton><button @click="showInfo2(12,$event)">点我提示信息2(传参)</botton>
</div>
<script type="text/javascript">
const vm= new vue{el:'#root',data:{name:'zhangsan',sex:'男'},menthods:{//配置回调方法showInfo1(event){console.log(event.target.innerText);console.log(this==vm);//结果为true,这里的this就是vmalert('同学你好');},showInfo2(number,a){console.log(number);console.log(this==vm);//结果为true,这里的this就是vmalert('同学你好');}}};</script>

事件的基本使用:

  1. 使用v-on:xxx或者 @xxx绑定事件,其中xxx是事件名;
  2. 事件的回调需要配置在methods对象里,最终会在vm上;
  3. method配置的函数不要用箭头函数,否则this就不是vm了;
  4. methods所配置的函数都是被vue所管理的函数,this的指向是vm或组件实例对象;
  5. @click=‘demo’和和@click='demo($event)'效果一致,但后者可以传参。

当需要阻止事件的默认行为时,可以使用@click.prevent="xxx"来代替,比如想要阻止如下a标签的超链接跳转,可以使用。

<div id="root"><h2>事件处理,hello,{{name}}</hr><a herf="http://baidu.com" @click.prevent="showInfo1">点我提示信息</a>
</div>
<script type="text/javascript">
const vm= new vue{el:'#root',data:{name:'zhangsan',sex:'男'},menthods:{//配置回调方法showInfo1(event){          event.preventDefault();//同样可以阻止超链接跳转事件,与@click.prevent效果相同。alert('同学你好');}}    
};</script>

prevent为事件修饰符,vue的事件修饰符包括:

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

事件冒泡:

<body>
<div id="root"><h2>事件处理,hello,{{name}}</hr><a herf="http://baidu.com" @click.prevent="showInfo1">点我提示信息</a><div class="demo1" @click="showInfo"><button @click.stop="showInfo">点我提示信息</botton></div>
</div>
</body>
<script type="text/javascript">
const vm= new vue{el:'#root',data:{name:'zhangsan',sex:'男'},menthods:{//配置回调方法showInfo(event){          //event.stopPropagation();//同样可以阻止按钮点击之后div冒泡事件,与@click.stop效果相同。alert('同学你好');}}    
};</script>

同理,还有@click.once等,冒泡是由内而外的,是先捕获外层,再执行内层,再冒泡到外层执行,因此先执行内层再执行外层,当需要先执行内层时,就需要在外层使用@click.capture了。

键盘事件:

@keyup
@keydown

当需要输入回车后相应键盘事件则使用:xxx.enter 。 vue给想用的按键都起了别名,如下:

  1. 回车:enter
  2. 删除:deletet
  3. 退出:esc
  4. 空格:space
  5. 换行:tab (特殊,必须配合@keydown来使用)
  6. 上:up
  7. 下:down
  8. 左:left
  9. 右:right

当需要使用vue未提供别名的按键时,可以使用按键原始的key值去绑定,但注意要转为kebab-case(短横线命名)。比如切换大小写的键名为:CapsLock,在绑定键盘事件时,需要使用@xxx.caps-lock=yyy

特殊的键盘按键:除了上述的tab键必须使用@keydown之后,还有系统修饰键ctrl、alt、shift、meta这四个也比较特殊:

  1. 配合keyup使用:按下修饰符的同时,再按下其他键,然后再释放其他键,事件才被触发;
  2. 配合keydown使用:正常触发事件。
    当然,也可以通过键值的方式keycode的方式来指定具体的按键,比如enter对应的值是13,可以写成@keyup.13=yyy,但是这种方式不推荐。

可以使用vue.config.keycodes.自定义键名=键码 这种方式定制按键别名,如vue.config.keycodes.huiche=13 就是将enter键名定制为别名huiche

事件总结:

1.事件的修饰符是可以连着写的,比如@keyup.stop.prevent是先阻止冒泡再阻止默认事件;
2.系统修饰符也是可以连着写的,比如@keyup.ctrl.y是按下ctrl+y时触发事件。

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

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

相关文章

Linux 安装 JDK、MySQL、Tomcat(图文并茂)

所需资料 下载 1.1 软件安装方式 在Linux系统中&#xff0c;安装软件的方式主要有四种&#xff0c;这四种安装方式的特点如下&#xff1a; 安装方式特点二进制发布包安装软件已经针对具体平台编译打包发布&#xff0c;只要解压&#xff0c;修改配置即可rpm安装软件已经按照re…

美易官方:科技巨头涨势好标普指数年底前有望升至6000点

高盛&#xff0c;作为全球领先的金融机构之一&#xff0c;近日发布了一份报告&#xff0c;预测在科技巨头的涨势推动下&#xff0c;标普500指数年底前有望升至6000点。这一预测引起了市场的广泛关注&#xff0c;投资者们纷纷开始重新评估自己的投资策略。 David Kostin等策略师…

金晟富:3.24黄金周末行情解析!周一开盘黄金分析及操作

换资共勉&#xff1a; ​ 此刻看文章的朋友你们好&#xff0c;周末愉快&#xff01;周末&#xff0c;我也习惯性的写分析&#xff0c;为的也是让大家对行情走势有所了解&#xff0c;这样在周一面对行情的时候我们也能从容应对&#xff0c;同时&#xff0c;针对手中持有多空单的…

超过 1200 个能够拦截在野外检测到的 2FA 的网络钓鱼工具包

超过 1200 个能够拦截在野外检测到的 2FA 的网络钓鱼工具包。 #################### 免责声明&#xff1a;工具本身并无好坏&#xff0c;希望大家以遵守《网络安全法》相关法律为前提来使用该工具&#xff0c;支持研究学习&#xff0c;切勿用于非法犯罪活动&#xff0c;对于恶…

202基于matlab的曲柄滑块机构的运动学仿真分析

基于matlab的曲柄滑块机构的运动学仿真分析&#xff0c;分析各个杆的速度、位移、加速度曲线&#xff0c;以及曲柄滑块机构的动画。程序已调通&#xff0c;可直接运行。 202 matlab 曲柄滑块机构 运动学仿真分析 - 小红书 (xiaohongshu.com)

第九篇【传奇开心果系列】Python自动化办公库技术点案例示例:深度解读Python处理PDF文件

传奇开心果博文系列 系列博文目录Python自动化办公库技术点案例示例系列 博文目录前言一、重要作用介绍二、Python库处理PDF文件基础操作和高级操作介绍&#xff08;一&#xff09;基础操作介绍&#xff08;二&#xff09;高级操作介绍 三、Python库处理PDF文件基础操作示例代码…

H5实现Web ECharts教程:轻松创建动态数据图表

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

【OpenBayes 官方教程】快速部署通义千问 72B 大模型

本教程主要为大家介绍怎样在 OpenBayes 上快速部署通义千文 72B 大模型&#xff0c;新朋友点击下方链接注册后&#xff0c;即可获得 4 小时 RTX 4090 5 小时 CPU 的免费使用时长哦&#xff01; 注册链接 https://openbayes.com/console/signup?ryuudi_nBBThttps://openbaye…

算法|数学与数论|素数筛

数学与数论|素数筛 1.判断素数 2.朴素筛 3.埃氏筛 4.欧拉筛(线性筛) 心有猛虎&#xff0c;细嗅蔷薇。你好朋友&#xff0c;这里是锅巴的C\C学习笔记&#xff0c;常言道&#xff0c;不积跬步无以至千里&#xff0c;希望有朝一日我们积累的滴水可以击穿顽石。 质数(素数)&…

一文读懂SPI通讯协议

一文读懂SPI通讯协议 引言 SPI(Serial Peripheral Interface)是一种同步串行通信接口协议,常用于嵌入式系统和芯片之间的通信。在本篇文章中,我们将详细介绍SPI通讯协议的工作原理、时序图和常见应用场景,并且通过丰富的示例代码帮助读者深入理解。 SPI通讯协议的基本概…

C++_第四周做题总结

id:19 A.三数论大小&#xff08;引用&#xff09; 题目描述 输入三个整数&#xff0c;然后按照从大到小的顺序输出数值。 要求&#xff1a;定义一个函数&#xff0c;无返回值&#xff0c;函数参数是三个整数参数的引用&#xff0c;例如int &a, int &b, int &c。…

【教程】高效数据加密混淆方法及实现简介

背景 在需要对数据进行传输或者表达时&#xff0c;通常要求数据加密的安全级别不高&#xff0c;但希望加解密时间复杂度尽可能低。这时使用传统的对称加密&#xff08;如3DES、AES&#xff09;或非对称加密&#xff08;如RSA、ECC&#xff09;显然不太适合。因为加密的安全级别…

【MySQL】10. 复合查询(重点)

复合查询&#xff08;重点&#xff09; 前面我们讲解的mysql表的查询都是对一张表进行查询&#xff0c;在实际开发中这远远不够。 1. 基本查询回顾 数据还是使用之前的雇员信息表 在标题7的位置&#xff01; mysql> select * from emp where sal > 500 or job MANAG…

【数据结构取经之路】队列循环队列

目录 引言 队列的性质 队列的基本操作 初始化 判空 销毁 队列的长度 插入 删除 返回队头元素 循环队列 假溢出 空与满的判定 实现 初始化 插入 判空 销毁 删除 返回队列长度 返回队列头元素 判满 引言 队列和栈一样&#xff0c;也是数据结构的一种&…

特征工程 | 数据清洗、异常值处理、归一化、标准化、特征提取

目录 一. 数据清洗1. 数据清洗&#xff1a;格式内容错误数据清洗2. 数据清洗&#xff1a;逻辑错误清洗3. 数据清洗&#xff1a;去除不需要的数据4. 数据清洗&#xff1a;关联性验证 二. 异常值的处理1. 删除2. 填充 三. 归一化和标准化1. 归一化2. 标准化 四. 特征提取1. One-H…

MyBatis是纸老虎吗?(六)

经过前面一些列文章的梳理&#xff0c;我们已将MyBatis框架所需要的资源都准备好了&#xff1a;数据库连接信息储存在Configuration对象中的Environment属性中&#xff08;该对象中有这样几个属性String类型的id&#xff0c;TransactionFactory类型的transactionFactory、DataS…

如何优雅的爬取公众号文章

目录 相关函数库介绍 代码例子 IP池免费送 相关函数库介绍 在合法合规的前提下&#xff0c;爬取微信公众号文章可以使用以下几个Python库&#xff1a; requests&#xff1a;这是一个非常流行的HTTP库&#xff0c;用于发送各种HTTP请求。它简单易用&#xff0c;能够高效地处…

关于序列化和反序列化

什么是序列化&#xff0c;什么是反序列化 简单来说&#xff1a; 序列化&#xff1a;将数据结构或对象转换成二进制字节流的过程反序列化&#xff1a;将在序列化过程中所生成的二进制字节流转换成数据结构或者对象的过程 为什么要进行序列化 我们要将java对象进行网络传输&a…

TorchAcc:基于 TorchXLA 的分布式训练框架

演讲人&#xff1a;林伟&#xff0c;阿里云研究员&#xff0c;阿里云人工智能平台 PAI 技术负责人 本文旨在探讨阿里云 TorchAcc&#xff0c;这是一个基于 PyTorch/XLA 的大模型分布式训练框架。 过去十年 AI 领域的显著进步&#xff0c;关键在于训练技术的革新和模型规模的快…

详细剖析多线程2----线程安全问题(面试高频考点)

文章目录 一、概念二、线程不安全的原因三、解决线程不安全问题--加锁&#xff08;synchronized&#xff09;synchronized的特性 四、死锁问题五、内存可见性导致的线程安全问题 一、概念 想给出⼀个线程安全的确切定义是复杂的&#xff0c;但我们可以这样认为&#xff1a; 在多…