原生js的event对象有三个键盘事件的值:
1) charCode: 被点击键的Unicode值
2) keyCode:
被点击键的ASCII十进制值
3) which: 字母数字键的charCode或者keyCode,具体可以自己试试
Mootools的event被封装后,统一成为code和key:
1
2
|
event.code = event.which || event.keyCode; event.key = String.fromCharCode(code).toLowerCase(); |
写了个方法,用于控制数字输入
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
// 价格字符串格式(小数点后最多两位) $$( ‘.jsForPrice‘ ).addEvents({
‘keypress‘ : function (ev){
var result;
if ( this .val().length === 0 || this .val().test( ‘\\.‘ )){ // 只能有1个点号
result = ev.code>=48&&ev.code<=57 || ev.code==8;
} else {
result = ev.code>=48&&ev.code<=57||ev.code==8||ev.code==46;
}
return result;
},
‘keyup‘ : function (ev){
if ( this .val().test( ‘\\.‘ )){
if ( this .val().split( ‘.‘ )[1].length>2){
this .val( this .val().substring(0, this .val().length-1))
}
}
//console.log(this.val().test(‘^[0-9]+(\\.[0-9]{1,2}){0,1}$‘))
}
}); |
参考:*