扩展jQuery键盘事件的几个基本方法(练习jQuery插件扩展)

文件名:jquery.hy.key.js

/*  ================================================================================
         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" οnkeypress="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" οnkeypress="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 ;
    }
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值