JS监控键盘输入的值

发表于:2010-7-06 10:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

#
java

  HTML例子代码如下:

!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>

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号