前言
在阅读本文前,相信大家应该都有所了解,在js获取键盘按下的键值有:event.keyCode
、event.charCode
和event.which
。
其中:
谷歌浏览器:
对event.keyCode
、event.charCode
和event.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.keyCode
和event.which
对大部分键值能获得,但是有少部分也不能获得
网络查看说event.which
将 event.keyCode
和 event.charCode
标准化了。但实际还是有区别的。
所以一般都这样写兼容:
e.whiche.charCode;
jquery API地址:nofollow" target="_blank" href="http://api.jquery.com/event.which/">http://api.jquery.com/event.which/
如下例子介绍Query限制文本框只能输入数字和小数点的方法
/JQuery 限制文本框只能输入数字和小数点/
$(".NumDecText").keyup(function(){
$(this).val($(this).val().replace(/[^0-9.]/g,function(){ //CTR+V事件处理
$(this).val($(this).val().replace(/[^0-9.]/g,"disabled"); //CSS设置输入法不可用
});
$(".NumDecText").keyup(function(){
$(this).val($(this).val().replace(/[^0-9.]/g,function(){ //CTR+V事件处理
$(this).val($(this).val().replace(/[^0-9.]/g,"disabled"); //CSS设置输入法不可用
});
Keycode对照表如下:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持。