`
hanbaohong
  • 浏览: 407365 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

解决中文输入法event.keyCode的返回值总是229的问题

 
阅读更多

我在给一个客户做一个网页版的打字聊天项目时,要时时检测按键的键值,用onkeydown事件获得的键值总是229。经过研究找出了原因,换成onkeyup事件就可以了。另外还有一个问题:用外挂输入法(如小小输入法)在输入汉字时,每个字总是多出一键,经过研究找出,原来总出自动加上了一个231的键值,我的解决方法是把返回值为231的跳过就行了。

 

我的代码片段是:

<textarea class="box" id="typeInput" onkeyup="checkKey()" onpaste="return false" onPropertyChange="checkduicuo()"></textarea>

 

//检测按下的键
function checkKey(){
 if (event.keyCode != 231) jijiancishu++; //击键次数
 zongjianshu.innerText=jijiancishu; //总击键次数
 if (event.keyCode == 8){tuigecishu++;} //退格数
 tuige.innerText=tuigecishu;    
 if (event.keyCode == 13){event.keyCode=0;return false;}//屏蔽回车键
}

 

//时时判断对错

function checkduicuo()

 text1=typeContent.innerText;
 text2=$("typeInput").value;
 var zongzishuint=text2.length;
 zongzishu.innerText=zongzishuint;
   if (zongzishuint>0) machang.innerText=Math.round(jijiancishu/zongzishuint*10)/10; //平均码长  
 cuo=0;dui=0;xianshizi="";
 for (i=0;i<text2.length;i++)
 {
  xianshizi=xianshizi+"<span class="
  if (text2.substr(i,1)!=text1.substr(i,1))
  {
   cuo=cuo+1;
   xianshizi=xianshizi+"bg_c"
   } else {
   dui=dui+1;
   xianshizi=xianshizi+"bg_d"
  }
  xianshizi=xianshizi+">"+text1.substr(i,1)+"</span>";
 }
 typeContent.innerHTML=xianshizi+"<span class=redLine>"+text1.substr(i,1)+"</span>"+text1.substr(i+1);
 var meihangzishu=38; //每行字数
 var hang1=(text1.length - text1.length % meihangzishu)/meihangzishu;
 var hang2=(zongzishuint-zongzishuint % meihangzishu)/meihangzishu-2;
 typeContent.scrollTop=typeContent.scrollHeight/hang1*hang2;  
 typeCuo.innerText=cuo; 
 zhengquelv.innerText=Math.round(dui/(dui+cuo)*1000)/10+"%";
 
 if (text1.length==text2.length && text2.length>0) //是否打完
 {
     if (confirm('发送成绩至聊天框吗?')){
   var str=showGengdaTitle.innerText+"<br />";
   if ($("chkSudu").checked) str += "速度:"+sudu.innerText;
   if ($("chkJijian").checked) str += ",击键:" + jijian.innerText;
   if ($("chkMachang").checked) str += ",码长:"+ machang.innerText;
      if ($("chkTuige").checked) str += ",退格:"+tuige.innerText;
   if ($("chkTypecuo").checked) str += ",错字:"+typeCuo.innerText;
   if ($("chkZhengquelv").checked) str += ",正确率:"+zhengquelv.innerText+"%";
   if ($("chkZongzishu").checked) str += ",总字数:"+zongzishu.innerText;
   if ($("chkZongmiaoshu").checked) str += ",总秒数:"+zongmiaoshu.innerText;
   if ($("chkZongjianshu").checked) str += ",总键数:"+zongjianshu.innerText;
   if ($("chkShurufa").checked) str += ",输入法:"+$("shurufa").value;
   sendChatContent("send",str,0);  
  }
 }
}

0
0
分享到:
评论

相关推荐

    window.event.keycode值大全

    ### Window.event.keycode值大全详解 #### 概述 在JavaScript中,`window.event.keycode`属性被用于获取用户按下键的键盘码。这在处理键盘事件时非常有用,可以帮助开发者识别并响应特定的按键操作。本文将详细...

    javascript键盘事件大全event.keycode

    javascript键盘事件大全,最全的键盘事件event.keycode

    event.keyCode键码值表 附只能输入特定的字符串代码

    (event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39)&&!(event.keyCode==190)) if(!((event.keyCode&gt;=48&&event.keyCode&lt;=57)||(event.keyCode&gt;=96&&event.keyCode&lt;=105))...

    event.keycode大全(javascript)

    `event.keyCode`属性是这个对象中的一个属性,它在键盘事件(如`keydown`、`keyup`或`keypress`)发生时,返回按下键的ASCII码或者Unicode值。这个属性在开发网页交互功能,尤其是涉及到键盘输入时非常有用。比如,...

    event.keycode值大全

    在JavaScript编程中,`event.keyCode` 是一个非常重要的属性,特别是在处理键盘事件时。它用于获取用户按下键盘上的键对应的ASCII码或者特定的键码值。这个属性在各种键盘交互的场景下非常有用,比如创建自定义的...

    js_event.keycode值列表

    ### JavaScript Event.keyCode 值详解 #### 概述 在JavaScript中,`event.keyCode` 是一个用于捕获键盘事件时的属性,它返回一个整数值,代表触发该事件的键对应的ASCII码或虚拟键码(Virtual Key Code)。本文将...

    js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解

    在阅读本文前,相信大家应该都有所了解,在js获取键盘按下的键值有:event.keyCode、event.charCode和event.which。 其中: 谷歌浏览器:对event.keyCode、event.charCode和event.which都兼容。 火狐浏览器:对event...

    Javascript中的window.event.keyCode使用介绍

    而window.event.keyCode是JavaScript中用于获取在键盘事件中被按下的键对应的ASCII码值的一个属性。开发者可以通过监听键盘事件(如keydown事件),并利用keyCode属性来判断用户按下了哪个键。这种技术常常用于表单...

    js中event.keycode键值大全

    ### JavaScript中的Event.keyCode键值详解 在JavaScript编程中,`event.keyCode`是一个非常有用的属性,它可以帮助开发者捕获用户在页面上的键盘输入行为,并通过不同的键值来区分各种按键。本文将详细介绍`event....

    event.keyCode值大全

    列举了所有keyCode的值,方便开发者利用。

    js_event.keycode值大全

    js_event.keycode值大全,匹配准确,快速开发查阅

    asp.net控制键盘keycode事件

    在JavaScript中,`event.keyCode`属性用于获取用户按下或释放的键对应的ASCII码(asc码)。这个值是一个整数,可以用来区分不同的键。例如,当你按下"A"键时,`event.keyCode`返回65;按下数字1时,返回49。 三、在...

    JS键盘的键码(event.keyCode)图片版

    在JavaScript中,`event.keyCode` 是一个非常重要的属性,它用于获取用户在键盘上按下时对应的键码。这个属性在处理键盘事件时尤其有用,比如监听用户输入、实现自定义键盘快捷键或游戏控制等场景。`event.keyCode` ...

    window.event.keyCode兼容IE和Firefox实现js代码

    input type=”text” onkeydown=”keyNumAll(event);” &gt; Javascript 代码 代码如下: function keyNumAll(evt){ //兼容IE和Firefox获得keyBoardEvent对象 evt = (evt) ? evt : ((window.event) ? window.event : ...

    javascript 常用方法及技巧

    event.keyCode event.shiftKey event.altKey event.ctrlKey 事件返回值 event.returnValue 鼠标位置 event.x event.y 窗体活动元素 document.activeElement 绑定事件 document.captureEvents(Event....

    JavaScript 键盘event.keyCode值列表大全

    网上收集的KeyCode值方便大家查找: keycode 8 = BackSpace BackSpace keycode 9 = Tab Tab keycode 12 = Clear keycode 13 = Enter keycode 16 = Shift_L keycode 17 = Control_L keycode 18 = Alt_L keycode 19 = ...

Global site tag (gtag.js) - Google Analytics