对于所有键,键码值返回为229

时间:2016-08-19 09:17:00

标签: javascript android jquery

我在Android设备中运行了普通文本框,我遇到了一些问题,如下所述。

1.在Android设备中未触发.Keypress事件 2.keycode值总是仅返回229

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

只检查你的输入字符keyCode,如果它是0或229那么这里是函数 getKeyCode ,它使用JS的 charCodeAt 来返回带有输入字符串a的KeyCode参数并返回最后一个字符的键码。

<script>
        var getKeyCode = function (str) {
            return str.charCodeAt(str.length);
        }


        $('#myTextfield').on('keyup',function(e){

            //for android chrome keycode fix
            if (navigator.userAgent.match(/Android/i)) {

                var inputValue = this.value;

                var charKeyCode = e.keyCode || e.which;
                if (charKeyCode == 0 || charKeyCode == 229) { 
                    charKeyCode = getKeyCode(inputValue);
                    alert(charKeyCode+' key Pressed');
                }else{
                   alert(charKeyCode+' key Pressed');
                    }
            }       
        });
    </script>