虽然我知道由于e.keyCodevs捕获键e.charCode并非易事,但我认为 jQuery 几乎能够规范大多数这些不一致。
然而,在回答这个问题时,我发现这个角色#似乎有非常不一致的 keyCodes(当然,其他几个代码也是如此,主要取决于我猜的浏览器和键盘布局)。
Chrome 和 IE 在我的计算机上产生 191,Firefox 163,另一个用户报告 222。Chromewindow.event甚至报告U+00BF为 keyIdentifier - 根据 unicode 表应该是¿.
您是否知道任何一致的方法来确定此类符号(例如#具有不一致的 keyCodes)而无需执行以下讨厌的操作:
$('input').keydown(function (e) {
if (e.which == 191 || e.which == 163 || e.which == 222){
// hope you got the right key
e.preventDefault();
}
});