我已经在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>