View Code :
Copy code The Code is as follows: (function ($ ){
VaR keycode = {
Backspace: 8,
Caps_lock: 20,
Comm: 188,
Control: 17,
Delete: 46,
Down: 40,
End: 35,
Enter: 13,
Escape: 27,
Home: 36,
Insert: 45,
Left: 37,
// Number_add: 107,
// Numpad_decimal: 110,
// Numpad_divide: 111,
// Numpad_enter: 108,
// Numpad_multiply: 106,
// Numpad_subtract: 109,
Page_down: 34,
Page_up: 33,
Period: 190,
Right: 39,
Shift: 16,
Space: 32,
Tab: 9,
Up: 38
}
VaR iscontrolcode = function (key ){
For (name in keycode ){
If (keycode [name] = key)
Return true;
}
Return false;
}
VaR number = function (event ){
VaR T = this;
If (event. shiftkey)
Return false;
Var key = event. keycode;
If (iscontrolcode (key ))
Return;
If (key: <48 | key> 105)
Return false;
If (Key> 57 & Key <96)
Return false;
}
VaR controllist = {};
Var control = Class. Extend ({
Init: function (OBJ ){
This. event = [];
This.tar get = $ (OBJ );
},
Add: function (settings ){
VaR T = this;
T. event. Push (settings );
Return T;
},
BIND: function (){
VaR T = this;
If (! T.tar get ){
Return;
}
T.tar get. Each (function (){
VaR B = $ (this );
B. BIND ("keydown", T. event. BIND (t). BIND ("keyup", T. event. BIND (t ));
If (jquery. browser. MSIE)
{
B. BIND ("Paste", T. event. BIND (t ));
}
Else {
B. BIND ("input", T. event. BIND (t ));
}
});
},
Getmethods: function (type ){
VaR T = this;
VaR list = [];
$ (T. Event). Each (function (I, item ){
If (! Item. type |! Item. Method)
Return;
If (item. type = "all "){
List. Push (item. method );
} Else
{
If (item. type = type ){
List. Push (item. method );
}
}
});
Return list;
},
Issuccess: function (list, event, OBJ ){
VaR istrue = true;
For (VAR I = 0; I <list. length; I ++ ){
If (list [I]. Call (OBJ, event) === false)
{
Istrue = false;
Break;
}
}
Return istrue;
},
Event: function (EV ){
VaR T = this;
VaR event = eV. originalevent;
VaR objjavasev.tar get;
Return T. issuccess (T. getmethods (EV. type), event, OBJ );
}
});
Control. Add = function (OBJ, settings ){
VaR con = controllist [This. selector];
If (! Con)
{
Con = new control (OBJ );
Controllist [This. selector] = con;
Con. BIND ();
}
Con. Add (settings );
Return control;
}
$. FN. numberable = function (){
Certificate (this).css ("imemode", "disabled ");
Control. Add (this, {type: "keydown", method: Number}). Add (this, {type: "keyup", method: Number });
Function repnumber (event ){
VaR o = $ (this );
If (O. Val ()){
O. Val (O. Val (). Replace (/[^ \ D]/g ,""));
}
}
If (jquery. browser. MSIE ){
Control. Add (this, {type: "Paste", method: function (event) {var o = this;
SetTimeout (repnumber. BIND (O, event), 0 );
}
});
}
Else
{
Control. Add (this, {type: "input", method: repnumber });
}
Return this;
}
}) (Jquery );
Usage:Copy codeThe Code is as follows: $ (". Class"). numberable ();
This only limits the number and extends other functions,