• 键盘事件


    !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD><TITLE>js 按键记录</TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="羽殇仁">
    <META NAME="Keywords" CONTENT="js 按键记录">
    <META NAME="Description" CONTENT="js 按键 记录">
    </HEAD>
    <BODY>
    <script type="text/javascript">
    var keystring = "";//记录按键的字符串
    function $(s){return document.getElementById(s)?document.getElementById(s):s;}
    function keypress(e)
    {
      var currKey=0,CapsLock=0,e=e||event;
        currKey=e.keyCode||e.which||e.charCode;
      CapsLock=currKey>=65&&currKey<=90;
      switch(currKey)
      {
           //屏蔽了退格、制表、回车、空格、方向键、删除键
           case 8: case 9:case 13:case 32:case 37:case 38:case 39:case 40:case 46:keyName = "";break;
           default:keyName = String.fromCharCode(currKey); break;
      }
      keystring += keyName;
    }
    function keydown(e)
    {
      var e=e||event;
      var currKey=e.keyCode||e.which||e.charCode;
      if((currKey>7&&currKey<14)||(currKey>31&&currKey<47))
      {
          switch(currKey)
           {
              case 8: keyName = "[退格]"; break;
              case 9: keyName = "[制表]"; break;
              case 13:keyName = "[回车]"; break;
              case 32:keyName = "[空格]"; break;
              case 33:keyName = "[PageUp]";   break;
              case 34:keyName = "[PageDown]";   break;
              case 35:keyName = "[End]";   break;
              case 36:keyName = "[Home]";   break;
              case 37:keyName = "[方向键左]";   break;
              case 38:keyName = "[方向键上]";   break;
              case 39:keyName = "[方向键右]";   break;
               case 40:keyName = "[方向键下]";   break;
              case 46:keyName = "[删除]";   break;
              default:keyName = "";    break;
          }
          keystring += keyName;
      }
      $("content").innerHTML=keystring;
    }
    function keyup(e)
    {
      $("content").innerHTML=keystring;
    }
    document.onkeypress=keypress;
    document.onkeydown =keydown;
    document.onkeyup =keyup;
    </script>
    <input type="text" />
    <input type="button" value="清空记录" onclick="$(‘content‘).innerHTML = ‘‘;keystring = ‘‘;"/>
    <br/>请按下任意键查看键盘响应键值:<span id="content"></span>
    </BODY>
    </HTML>

    代码分析:
    $():根据ID获取dom
    keypress(e):实现对字符码的截获,由于功能按键要用keydown获取,所以在keypress中屏蔽了这些功能按键。
    keydown(e):主要是实现了对功能按键的获取。
    keyup(e):展示截获的字符串。

  • 相关阅读:
    [转]Asp.net中基于Forms验证的角色验证授权
    [转]npm常用命令
    [转]utf8编码引起js输出中文乱码的解决办法
    LEFT JOIN 和 RIGHT JOIN 运算
    [转].NET 数字格式化:忽略末尾零
    [译]Pro ASP.NET MVC 3 Framework 3rd Edition 目录及说明
    微信授权登录
    百度快照更新慢怎么办
    linux爱好者必须掌握的命令,linux基础命令集合
    input输入框只能输入数字、字母相关组合(正则表达式)
  • 原文地址:https://www.cnblogs.com/minshia/p/6847940.html
Copyright © 2020-2023  润新知