网站首页 > 技术文章 正文
如何给一个元素增加监听事件。
例如,给一个button增加一个事件:点击之后,打印一段字符串。
注:监听事件,这四个字听起来很高大上,让人难以理解。说白了,就是:点击一下button会发生什么
在vue3中,最常用的方法就是使用:v-on。
1、基础用法
可以直接使用v-on+冒号来定义。也可以,使用@符号缩写来定义。
例如,定义了一个button,名称为aaa,绑定的事件是:鼠标点击。
点击之后发生的事情是:控制台打印 “ hahaha do something " 字符串。
代码如下所示:
<template>
<div>
<button v-on:click="doSomething"> aaa </button>
<!-- 简写 -->
<button @click="doSomething"> bbb </button>
</div>
</template>
<script setup>
function doSomething() {
console.log('hahaha do something');
}
</script>
<style scoped></style>
当点击button的时候,就会在控制台看到对应的输出。
一定要注意:等号后面的函数,是我们自己定义的;而等号前面的事件是内置的,不能任意改动。
除了例子中的click鼠标点击事件之外,其它常用的事件总结如下:
- 鼠标事件 click:元素被点击(鼠标左键按下并松开)时触发。 dblclick:元素被双击时触发。 mousedown:鼠标按键按下时触发。 mouseup:鼠标按键松开时触发。 mousemove:鼠标移动时触发。
- 键盘事件 keydown:键盘按键被按下时触发。 keyup:键盘按键松开时触发。 keypress:按下键盘按键并产生字符值(如字母、数字、标点符号)时触发。
- 表单事件 submit:表单提交时触发。 input:输入框内容发生改变时立即触发。 change:输入框失去焦点并且内容发生改变时触发。
- 其他常用事件 focus:元素获得焦点时触发。 blur:元素失去焦点时触发。 load:元素(如图片、脚本、框架等)加载完成时触发。 error:元素加载出错时触发。
2、一次绑定多个事件
我们可以通过花括号的形式,一次性绑定多个事件。
代码如下:
<template>
<div>
//mousedown表示鼠标按下 mouseup表示鼠标按下后松开
<button v-on="{ mousedown: doThis, mouseup: doThat }">hhh</button>
</div>
</template>
<script setup>
function doThis() {
console.log('鼠标按下 hhh');
}
function doThat() {
console.log('鼠标松开 hhh');
}
</script>
<style scoped></style>
结果如下图所示:
3、事件修饰符
事件修饰符的作用,就是对一个事件进行微调。
例如,鼠标点击的事件一般默认是鼠标左键触发。但可以通过修饰符right,让这个事件通过点击鼠标右键触发。
又例如,一般在点击一个链接之后,会发生跳转。
而使用修饰符prevent,就可以阻止这个跳转的发生。
代码如下:
<template>
<div>
<button @click.right="doSomething"> bbb </button>
<a href="http://cn.bing.com" @click.prevent="doPrevent">hhh</a>
</div>
</template>
<script setup>
function doSomething() {
console.log('右键触发的 哈哈哈');
}
function doPrevent() {
console.log('你无法跳转 哈哈哈');
}
</script>
<style scoped></style>
页面渲染成功后,我们用鼠标左键点击bbb button会发现没有任何反应,只用通过鼠标右键点击,才会在控制台看到相应的输出。
而跳转链接hhh,在点击后也没有正常跳转,而是在控制台看到了函数doPrevent里面的打印语句。
当然了,vue官方提供的事件修饰符不止这两个。
文章篇幅有限,不可能穷尽所有的修饰符。
本文的目的,是希望大家在看到相关语法的时候,不会迷茫。然后在vue官网上,所有相关的知识点。
以上就是v-on事件监听器的核心用法,感谢阅读。如需合作,欢迎联系。
- 上一篇: 模具设计之UG右键快捷菜单的修改方法
- 下一篇: 前端系列教程-深入理解JavaScript中的DOM
猜你喜欢
- 2025-01-15 HTC Hima 近期谍照都是烟雾弹?传前端设计有大更动
- 2025-01-15 花了5、6万耳机退烧史,索尼N3AP、Z1R 、舒尔846 和黑砖、墨菊
- 2025-01-15 前端系列教程-深入理解JavaScript中的DOM
- 2025-01-15 模具设计之UG右键快捷菜单的修改方法
- 2025-01-15 6.9k Star!程序员必备!KeymouseGo告别重复劳动,效率提升10倍!
- 2025-01-15 手摸手教你 CentOS 入门必备基础知识(建议收藏)
- 2025-01-15 图形编辑器开发:快捷键的管理
- 2025-01-15 前端异常捕获与处理汇总,收藏篇
- 2025-01-15 因无法回答如何用Vue控制按钮级别权限,面试官说:你可以回家了
- 2025-01-15 Vue短文:如何在 Vue 中防止点击按钮时,点击事件冒泡到父级元素?
你 发表评论:
欢迎- 577℃几个Oracle空值处理函数 oracle处理null值的函数
- 573℃Oracle分析函数之Lag和Lead()使用
- 559℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 557℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 554℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 543℃【数据统计分析】详解Oracle分组函数之CUBE
- 531℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 527℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)