关于js的keyCode

原生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}$‘))
     }
});

参考:stackoverflow

关于js的keyCode,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。