欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-19 15:10:04
前言 在阅读本文前,相信大家应该都有所了解,在js获取键盘按下的键值有:event.keycode、event.charcode和event.which。 其中: 谷...

前言

在阅读本文前,相信大家应该都有所了解,在js获取键盘按下的键值有:event.keycodeevent.charcodeevent.which

其中:

谷歌浏览器:event.keycodeevent.charcodeevent.which都兼容。

火狐浏览器:event.keycode部分键值有效,如上下左右键(37,38,39,40),enter键(13),pgup(33),pgdn(34)等部分有效,对数字键,字母键无效。

event.which也是部分键值有效,如字母键,数字键,enter键,backspace键等有效,对上下左右键,pgup(33),pgdn(34)键无效。

event.charcode也是对部分键值有效,如字母键,数字键,,backspace键等有效,对enter键,上下左右键,pgup(33),pgdn(34)键无效。

ie浏览器:中,ie8及以下浏览器对event.charcode无效,event.keycodeevent.which对大部分键值能获得,但是有少部分也不能获得

网络查看说event.which event.keycode event.charcode 标准化了。但实际还是有区别的。

所以一般都这样写兼容:

e.keycode<span class="hljs-params">||</span>e.which<span class="hljs-params">||</span>e.charcode;

jquery api地址:

如下例子介绍query限制文本框只能输入数字和小数点的方法

$(function(){
 /*jquery 限制文本框只能输入数字*/
 $(".numtext").keyup(function(){
  $(this).val($(this).val().replace(/[^0-9]/g,''));
 }).bind("paste",function(){ //ctr+v事件处理 
  $(this).val($(this).val().replace(/[^0-9]/g,''));
 }).css("ime-mode", "disabled"); //css设置输入法不可用 

 /*jquery 限制文本框只能输入数字和小数点*/
 $(".numdectext").keyup(function(){
  $(this).val($(this).val().replace(/[^0-9.]/g,''));
 }).bind("paste",function(){ //ctr+v事件处理 
  $(this).val($(this).val().replace(/[^0-9.]/g,''));
 }).css("ime-mode", "disabled"); //css设置输入法不可用 
 });

keycode对照表如下:

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。