[乐意黎原创] 诡异的中文状态下临时输入英文

在英文输入法模式下:

 //space:32, ctrl:17, shift:16

搜狗拼音输入法,在中文输入时,按下SHIFT键,输入英文,

     //when file name get from input or select table item, change 'Ok' button state
    var _onFileNameKeyup = function(e) {
        if(e && e.keyCode === 32){
            var temp = this.fileName.getValue();
            if(temp.length === 1 && temp === ' '){
                this.fileName.setValue();
            }
        }
        var btnOK = this.container.buttonArea.buttonOk;


        if(this.fileName.getValue().trim().length === 0){
            btnOK.setEnabled(false);
        }else{
            btnOK.setEnabled(true);
        }
    };


 var _onFileNameKeyup = function(e) {
        //space:32, ctrl:17, shift:16
        //for #121645: temp input en when in zh_cn Lan
        if(e && (e.keyCode === 32 || e.keyCode === 229)){
            var temp = this.fileName.getValue();
            if(temp.length === 1 && temp === ' '){
                this.fileName.setValue();
            }
        }
        var btnOK = this.container.buttonArea.buttonOk;
        
        if(this.fileName.getValue().trim().length === 0){
            btnOK.setEnabled(false);
        }else{
            btnOK.setEnabled(true);
        }
        //for #121645: temp input en when in zh_cn Lan
        if(e && (e.keyCode === 16 || e.keyCode === 17 || e.keyCode === 229)){
            var temp = this.fileName.getValue();
            if(temp.length > 0){
                btnOK.setEnabled(true);
            }
        }
    };


以后在JS中少用按键的keyCode来判断数字的输入

直接用String.fromCharCode的方法来获得输入的字符,然后进行正则表达式的判读

  

找到一种可以屏蔽复制,拖曳的方法,并且只能输入数字,而且使用能让输入法的框消失

onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46" onpaste="return !clipboardData.getData('text').match(//D/)" ondragenter="return false" style="ime-mode:Disabled"

本文地址:http://blog.csdn.net/aerchi/article/details/46048465

你可能感兴趣的:([乐意黎原创] 诡异的中文状态下临时输入英文)