我已经在android设备中运行了正常的文本框,但遇到了下面提到的一些问题。

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

如何解决这个问题?

最佳答案

只需检查您的输入字符keyCode,如果它是0或229,则这是函数 getKeyCode ,该函数使用JS的 charCodeAt JSt的来返回KeyCode,该KeyCode将输入字符串作为参数并返回最后一个字符的 key 代码。

<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>

10-04 15:12