键盘事件
键盘上的每个按键都有自己的名称和编码,例如:Enter(13)。而Vue还对一些常用按键起了别名方便使用
1、Vue中常用的按键别名
回车enter
删除delete捕获“删除”和“退格”键
退出esc
空格space
换行tab特殊,必须配合keydown去使用,原有的tab会切换元素.
上up
下down
左left
右right
2.Vue未提供别名的按键,可以使用按键原始的key值去绑定,但注意要转为kebab-case(多单词小写短横线写法)
3.系统修饰键(用法特殊)ctrl alt shift meta(meta就是win键)
a:配合keyup使用:按下修饰键的同时,再按下其他键,随后释放其他键,事件才被触发
指定 ctr+y 使用 @keyup.ctrl.y 按下ctrl 按下y 释放y 才会起作用
b:配合keydown使用:正常触发事件
4.也可以使用keyCode去指定具体的按键(不推荐)
5.Vue.config.keyCodes.自定义键名 = 键码,可以去定制按键别名
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>键盘事件</title>
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="root">
<h2>欢迎打开{{name}}笔记</h2>
<input type='text' placeholder="输入后直接显示" @keyup="showInfo"></br>
<!-- enter:keyCode对应编码的别名 -->
<input type='text' placeholder="按esc输入显示" @keyup.esc="showInfo"></br>
<input type='text' placeholder="按回tab输入" @keyup.tab="showInfo"></br>
<input type='text' placeholder="按回车键输入" @keyup.huiche="showInfo"></br>
<input type='text' placeholder="按ctrl键输入" @keyup.ctrl="showInfo"></br>
<input type='text' placeholder="按ctrl直接触发" @keydown.ctrl="showInfo"></br>
</div>
<script type = 'text/javascript'>
Vue.config.productionTip = false
// 定义别名
Vue.config.keyCodes.huiche=13
const a = new Vue({
el:'#root',
data:{
name:'pad'
},
methods:{
showInfo(e){
// 获取按下键盘之后输入的值。并且按出回车之后返回值。
//e.key:键盘的名字
//e.keyCode:键盘的code
// if(e.keyCode !==13) return
// console.log(e.target.value)
console.log(1234)
}
}
})
</script>
</body>
</html>