JS实现键盘监听
Published on 2周前 in JavaScript with 0 comment And 8810 views

JS实现键盘监听

in JavaScript with 0 comment And 8810 views

项目中要监听键盘组合键CTRL+C,以便做出对应的响应。查了一些方法但是其兼容性和稳定性不是很高,最终得到如下方法,经测试在Firfox、Chrome、IE中均

一、使用javascript实现

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script>
            function keyListener(event){
                if (event.ctrlKey && event.keyCode === 86){
                       alert('你按下了CTRL+V');
               }
            }
        </script>
    </head>
 
    <body>
        Ctrl+V:<textarea onkeydown="keyListener(event);">粘贴粘贴</textarea>
    </body>
 
</html>

二、使用jquery实现

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="http://tztest4.ptmind.cn/js/jquery-1.8.0.min.js?v=3/11"></script>
        <script>
            $(function(){
                $("#aaa").keyup(function(event){
                     if (event.ctrlKey && event.keyCode === 67){
                           alert('你按下了CTRL+C');
                   }
                });
                
            });
            /*
             * $('input').keyup(function(){...});
             * $('input').bind('keyup', function(){...});
             * $('input').live('keyup', function(){...});
             */
        </script>
    </head>
 
    <body>
        Ctrl+C:<textarea id="aaa">复制复制</textarea> <br />
    </body>
 
</html>

三、说明 event.ctrlKey 

  • 功能:检测事件发生时Ctrl键是否被按住了。
  • 语法:event.ctrlKey
  • 取值:true | false  1|0
  • 说明:
  • ctrlKey属性为true表示事件发生时Ctrl键被按下并保持,为false则Ctrl键没有按下。
  • ctrlKey属性可结合鼠标或键盘使用,多用于制作一些快捷操作方式。

四、详细keyCode值列表:

字母和数字键的键码值(keyCode)

按键键码按键键码按键键码按键键码
A65J74S83149
B66K75T84250
C67L76U85351
D68M77V86452
E69N78W87553
F70O79X88654
G71P80Y89755
H72Q81Z90856
I73R82048957

数字键盘上的键的键码值(keyCode) / 功能键键码值(keyCode)

按键键码按键键码按键键码按键键码
0968104F1112F7118
1979105F2113F8119
298*106F3114F9120
399+107F4115F10121
4100Enter108F5116F11122
5101-109F6117F12123
6102.110
7103/111

控制键键码值(keyCode)

按键键码按键键码按键键码按键键码
BackSpace8Esc27Right Arrow39-_189
Tab9Spacebar32Dw Arrow40.>190
Clear12Page Up33Insert45/?191
Enter13Page Down34Delete46`~192
Shift16End35Num Lock144[ {219
Control17Home36;:186\ l220
Alt18Left Arrow37=+187] }221
Cape Lock20Up Arrow38,<188' "222

多媒体键码值(keyCode)

按键键码按键键码按键键码按键键码
音量加175
音量减174
停止179
静音173
浏览器172
邮件180
搜索170
收藏

五、参考地址:

  1. http://blog.csdn.net/zyz511919766/article/details/7349034
  2. http://uule.iteye.com/blog/798394
  3. http://www.cnblogs.com/shipengzhi/articles/2035010.html
Responses