07 键盘事件

180 阅读1分钟

键盘事件

键盘上的每个按键都有自己的名称和编码,例如:Enter(13)。而Vue还对一些常用按键起了别名方便使用

1、Vue中常用的按键别名

回车enter  
删除delete捕获“删除”和“退格”键  
退出esc  
空格space  
换行tab特殊,必须配合keydown去使用,原有的tab会切换元素.
上up  
下down  
左leftright

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>