Sen*_*lez 17 javascript keycode
所以我看到一些关于不同浏览器报告不同keyCodes的论坛帖子,但每个人似乎都避免"为什么?".
我试图捕获冒号(:) keyCode,并意识到Firefox报告回e.keyCode 56.虽然Chrome报告回186(我认为这就是它).
是否有一种在所有浏览器中获得正确keyCode的通用方法?
如果它们是相同的键,它们为什么不同?
我会更加好奇是否有一种获得相同按键的国际方式.
谢谢.
Tim*_*own 15
这取决于您是否对用户按下的物理键或用户键入的字符感兴趣.如果它是您所追求的角色,您可以在所有主流浏览器中可靠地获得(在大多数浏览器中使用keypress事件的which属性或keyCode在IE <= 8中),但仅限于keypress事件中.如果你在密钥之后,使用keydownor keyup事件并检查keyCode属性,尽管确切的密钥代码映射在浏览器之间确实有所不同.
有关所有JavaScript密钥相关事件的出色解释和参考,请访问http://unixpapa.com/js/key.html.
要检测用户在所有主流浏览器中可靠地键入冒号字符,您可以执行以下操作:
document.onkeypress = function(e) {
e = e || window.event;
var charCode = (typeof e.which == "number") ? e.which : e.keyCode;
if (charCode && String.fromCharCode(charCode) == ":") {
alert("Colon!");
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17613 次 |
| 最近记录: |