• 键盘事件


    Vue的键盘事件:

    @keydown:按下

    @keypress:按住

    @keyup:抬起

    默认的按键别名:Vue为常用按键映射了别名;

    自定义按键别名:Vue.config.keyCodes可以自定义按键别名;

    @keydown:按下

    比如在键盘上按下a:

     vue代码:

    <script>
                
                window .onload= () =>{
                    new Vue({
                    el:"#one",
                    data:{
                    
                    
                    },
                    methods:{
                        show(e){
                            console.log(e);
                        }
                        
                        
                    }
                    
                    
                });
                }
            </script>

    html代码:

    <div id="one">
                <input type="text" @keydown="show($event)" />
            
                
            </div>

     需求:类似于提交,在input中输入内容,按回车键,执行一个方法:

    原生js方式:

    在vue 方法中写入:

    onEnter(e){
                            if(e.keyCode==13){
                                
                                console.log("按下回车 提交了!!!");
                            }
                        }

    HTML:

    <!--    原生js方式-->
        <input type="text" placeholder="onEnter" @keydown="onEnter($event)" />

    vue提供的方式,效果图和原生的方式一样,代码略有不同;

    <!--    vue提供的方式-->
                <input type="text" placeholder="onEnter" @keydown.13="onEnter($event)" />
                

    vue:

    onEnter(){
    
                        
                        console.log("按下回车 提交了!!!");
                        
                        
                        }

    13代表的是回车,由于不直观,所以有了内置按键别名,效果同上:

    <!--    vue提供内置按键别名-->
                <input type="text" placeholder="onEnter" @keydown.enter="onEnter($event)" />
                

    @keyup:抬起

     vue:

    onKeyAUp(){
                        
                    console.log("抬起键盘的 a 了!!!");
                    }

    html:

    <!--其它按键别名-->
                <input type="text" placeholder="keyupAup" @keyup.a="onKeyAUp" />

    自定义按键别名:

    vue:

    onMute(){
                        console.log("按下静音键了!!!");
                        
                        
                    }
    Vue.config.keyCodes={
                    "audio-volume-mute":121
                }

    注意:驼峰命名不能使用

    html:

    <!--自定义按键别名-->
                <input type="text" placeholder="自定义按键别名" @keydown.audio-volume-mute="onMute" />
                

    使用数组,实现按上起作用,按w也起作用:

    up:keycode=38,w:keycode=87

    vue:

    Vue.config.keyCodes={
                    "audio-volume-mute":121,
                    up:[38,87]
                }
    onUpDown(){
                        console.log("按下前进!!!");
                    }
                        

    html:

    <!--自定义按键别名-->
                <input type="text" placeholder="自定义按键别名2" @keydown.up="onUpDown" />
                

    以上实例的所有代码:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title>键盘事件</title>
     6         <script src="../js/vue.js"></script>
     7         
     8         <script>
     9             Vue.config.keyCodes={
    10                 "audio-volume-mute":121,
    11                 up:[38,87]
    12             }
    13             
    14             window .onload= () =>{
    15                 new Vue({
    16                 el:"#one",
    17                 data:{
    18                 
    19                 
    20                 },
    21                 methods:{
    22                     show(e){
    23                         console.log(e);
    24                     },
    25                     onEnter(){
    26 //                        <!--    原生js方式-->
    27 //                        if(e.keyCode==13){
    28 //                            
    29 //                            console.log("按下回车 提交了!!!");
    30 //                        }
    31                     
    32                     console.log("按下回车 提交了!!!");
    33                     
    34                     
    35                 },
    36                 onKeyAUp(){
    37                     
    38                 console.log("抬起键盘的 a 了!!!");
    39                 },
    40                 onMute(){
    41                     console.log("按下静音键了!!!");
    42                     
    43                     
    44                 },
    45                 onUpDown(){
    46                     console.log("按下前进!!!");
    47                 }
    48                     
    49                     
    50                 }
    51                 
    52                 
    53             });
    54             }
    55         </script>
    56     </head>
    57     <body>
    58         <div id="one">
    59         <!--    <input type="text"  placeholder="show" @keydown="show($event)" /><br />-->
    60             
    61         <!--    原生js方式-->
    62             <!--<input type="text" placeholder="onEnter" @keydown="onEnter($event)" />
    63             -->
    64                 
    65             <!--    vue提供的方式-->
    66         <!--    <input type="text" placeholder="onEnter" @keydown.13="onEnter($event)" />-->
    67         
    68         <!--    vue提供内置按键别名-->
    69             <!--<input type="text" placeholder="onEnter" @keydown.enter="onEnter($event)" />-->
    70             
    71             <!--其它按键别名-->
    72             <!--<input type="text" placeholder="keyupAup" @keyup.a="onKeyAUp" />-->
    73             <!--自定义按键别名-->
    74             <input type="text" placeholder="自定义按键别名" @keydown.audio-volume-mute="onMute" />
    75             
    76             <!--自定义按键别名-->
    77             <input type="text" placeholder="自定义按键别名2" @keydown.up="onUpDown" />
    78             
    79         
    80             
    81         </div>
    82     </body>
    83 </html>
    键盘事件
  • 相关阅读:
    error: device not found
    RK3288 查看时钟树
    GPS数据包格式解析
    Android 操作文件系统失败: Read-only file system
    Ubuntu 14.04 配置安卓5.1编译环境
    升级 php composer 版本
    清理 laravel blade 模板缓存
    Laravel collection 报错 join(): Invalid arguments passed
    Laravel firstOrNew 与 firstOrCreate 的区别
    执行 crontab 的计划任务
  • 原文地址:https://www.cnblogs.com/jiguiyan/p/10702097.html
Copyright © 2020-2023  润新知