扩展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;
    },
    
/* ===========================================================================
      功能描述:判断是否是整数,限制编辑框只能输入数字
      调用方法:
      
      待解决问题:
      firefox下tab键不起作用。
    
*/
    isInt:
function (e){
        
var  keynum  =   this .getKeyNum(e);
        
if (keynum  >=   48   &&  keynum  <=   57   ||  keynum  ==   8 ){ // firefox下退格需判断8
             return   true ;
        }
        
return   false ;
    },
    
/* ===========================================================================
      功能描述:判断是否是小数,限制编辑框只能输入数字,只能输入一个小数点。
      调用方法:
      
    
*/
    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 ;
    }
});

你可能感兴趣的:(javascript)