当前位置: 首页 > news >正文

Vue基础(6)_键盘事件

普通键盘事件

键盘事件常用的有两个:keydown、keyup。

举例:

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><script type="text/javascript" src="../js/vue.js"></script><title>键盘事件</title>
</head>
<body><div id="root"><h1>{{name}}</h1><input type="text" placeholder="按下回车提示输入" @keyup = "showInfo"></div><script>// 创建Vue实例new Vue({el:'#root',data:{name:'键盘事件'},methods: {showInfo(e){// 如果按键不是Enter,把控制权返回给页面,return后面的语句将不执行。if(e.key !== "Enter") returnconsole.log(e.target.value);}},})</script>
</body>
</html>

在Vue中,为了方便,不需要亲自判断回车,只需要在键盘事件后面添加别名也能实现同样效果:

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><script type="text/javascript" src="../js/vue.js"></script><title>键盘事件</title>
</head>
<body><div id="root"><h1>{{name}}</h1><input type="text" placeholder="按下回车提示输入" @keyup.enter = "showInfo"></div><script>// 创建Vue实例new Vue({el:'#root',data:{name:'键盘事件'},methods: {showInfo(e){console.log(e.target.value);}},})</script>
</body>
</html>

键盘事件

1.Vue中常用的按键别名:
回车 => enter
删除 => delete(捕获"删除"和"退格"键)
退出 => esc
空格 => space
换行 => tab(特殊,必须配合keydown去使用,不适合用keyup)
上 => up
下 => down
左 => left
右 => right

比如:

<input type="text" placeholder="按下回车提示输入" @keyup.esc = "showInfo">

2.Vue未提供别名的按键,可以使用按键原始的key值去绑定,但注意要转为kebab-case(短横线命名)。

比如:CapsLock按键的key值为CapsLock,直接添加则无效果,需要短横线命名

<input type="text" placeholder="按下回车提示输入" @keyup.caps-lock = "showInfo">

3.系统修饰键(用法特殊):ctrl、alt、shift、meta(win键)
(1).配合keyup使用:按下修饰键的同时,再按下其他键,随后释放其他键,事件才被触发。
(2).配合keydown使用:正常触发事件。

比如:按下ctrl + y 才能触发:

<input type="text" placeholder="按下回车提示输入" @keyup.ctrl.y = "showInfo">

4.也可以使用keyCodes(按键码)去指定具体的按键(不推荐,因为键盘厂家不同,按键编码相同,按键可能不同)。
5.Vue.config.keyCodes.自定义键名 = 键码,可以去定制按键别名(不推荐)。

http://www.xdnf.cn/news/33895.html

相关文章:

  • 玛哈特整平机:工业制造中的关键设备
  • Java 动态代理实现
  • Python scikit-learn 机器学习算法实践
  • 【每天一个知识点】模式识别
  • MySQL进阶-存储过程-变量语法结构
  • C++用于保留浮点数的两位小数,使用宏定义方法(可兼容低版本Visual Studio)
  • JZ8P1533 充电型数字可编程控制器
  • 200+短剧出海平台:谁能成为“海外红果”?
  • 电脑端移植至手机平板:攻克难题,仙盟架构显神通——仙盟创梦IDE
  • 2025.04.19-阿里淘天春招算法岗笔试-第二题
  • 在RK3588上使用SRS流媒体服务器
  • kafka集群认证
  • NumPy 核心指南:零基础入门与实践
  • 商标起名换了暗示词,通过初审!
  • 边生成边训练:构建合成数据驱动的在线训练系统设计实战
  • XMind 下载指南
  • 基于autoware.1.14与gazebo联合仿真进行全局规划高精地图版
  • 可穿戴经颅多通道直流电刺激产品测试总结
  • 16、堆基础知识点和priority_queue的模拟实现
  • 为什么 waitress 不支持 WebSocket?
  • PyTorch源码编译报错“fatal error: numpy/arrayobject.h: No such file or directory”
  • SEO长尾关键词优化实战
  • velocity模板引擎
  • 【一起学Rust】使用Thunk工具链实现Rust应用对Windows XP/7的兼容性适配实战
  • RoBoflow数据集的介绍
  • JVM笔记【一】java和Tomcat类加载机制
  • PHP怎样连接MySQL数据库?
  • 基于STM32中断讲解
  • 【JDBC-54.5】JDBC批处理插入数据:大幅提升数据库操作性能
  • YOLO拓展-NMS算法