bar*_*ooo 31 javascript google-chrome keycode javascript-events
我需要在我的网站上检测自定义搜索框的密钥代码,但在Chrome for Android上密钥代码总是返回零(退格区除外,返回8).有没有其他人经历过这一点,你是如何解决它的?我们的网站适用于除Chrome for Android以外的所有移动浏览器,因为我们无法检测到非零键码或字码.
我在Android 4.1.2 Jelly Bean上运行Chrome 27.0.1453.90.这个问题可以通过以下简单方法重复:
alert(event.keyCode);
cod*_*der 14
以下解决方案也适合我.也可能对其他人有用.
var getKeyCode = function (str) {
return str.charCodeAt(str.length - 1);
}
document.getElementById("a").onkeyup = function (e) {
var kCd = e.keyCode || e.which;
if (kCd == 0 || kCd == 229) { //for android chrome keycode fix
kCd = getKeyCode(this.value);
}
alert(kCd)
}
Run Code Online (Sandbox Code Playgroud)
小智 2
获取 keyCode 的真正方法是使用
event.which
Run Code Online (Sandbox Code Playgroud)
事件对象上的这个属性是标准化event.keyCode
属性。您也可以在此处的jQuery 文档或此处的MDN 中阅读相关内容
换句话说,我对 Android 设备上的键盘事件有很多经验。由于设备碎片(设备或外部键盘应用程序之间的 ROM 不同),Android 浏览器有时会出现键盘事件问题。最好的方法是尝试使用所有键盘事件(keydown、keyup 和 keypress)并比较每个结果以获得按下的键。
最好的方法是在“输入”事件中使用并始终获取最后的包机。输入事件可以像我在这里的回答一样进行控制。
归档时间: |
|
查看次数: |
24706 次 |
最近记录: |