扩展jQuery 键盘事件的几个基本方法
/* ================================================================================
Desc: 扩展对键盘事件的方法
Called by:
Auth: 大气象
Date: 2009-10-30
================================================================================
Change History
================================================================================
Date: Author: Description:
-------- -------- -------------------
================================================================================
Copyright (C) 1992-2009 Hongye Corporation
================================================================================
预备知识
1.数字0键值48..数字9键值57
2.a键值97..z键值122;A键值65..Z键值90
3.+键值43;-键值45;.键值46;退格8;tab键值9;
4.event在ie中是全局的,在firefox是临时对象,需要传递参数
*/
jQuery.extend({
/*===========================================================================
功能描述:取得按键的值
调用方法:
jQuery.getKeyNum(event);
*/
getKeyNum:function(e){
var keynum;
if(window.event){ // IE
keynum = event.keyCode;
}
else if(e.which){ // Netscape/Firefox/Opera
keynum = e.which;
}
return keynum;
},
/*===========================================================================
功能描述:判断是否是整数,限制编辑框只能输入数字
调用方法:
<input type="text" onkeypress="return jQuery.isInt(event);" />
待解决问题:
firefox下tab键不起作用。
*/
isInt:function(e){
var keynum = this.getKeyNum(e);
if(keynum >= 48 && keynum <= 57 || keynum == 8){//firefox下退格需判断8
return true;
}
return false;
},
/*===========================================================================
功能描述:判断是否是小数,限制编辑框只能输入数字,只能输入一个小数点。
调用方法:
<input type="text" onkeypress="return jQuery.isFloat(this,event);" />
*/
isFloat:function(txt,e){
var keynum = this.getKeyNum(e);
if(keynum == 46){//输入小数点
if(txt.value.length == 0){
return false;
}else if(txt.value.indexOf('.') >= 0){
return false;
}else{
return true;
}
}
if(this.isInt(e)){
return true;
}
return false;
}
});