虽然我知道由于e.keyCode
vs捕获键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();
}
});