Chr*_*oph 5 javascript jquery input
虽然我知道由于e.keyCodevs 而捕获密钥e.charCode并不是微不足道的,但我认为jQuery几乎可以将这些不一致的大部分归一化.
然而,在回答这个问题时,我发现该角色#似乎有非常不一致的keyCodes(当然,对于其他几个代码也是如此,主要取决于我猜的浏览器和键盘布局).
Chrome和IE在我的计算机上产生了191,Firefox 163,另一个用户报告了222.Chromes window.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();
}
});
Run Code Online (Sandbox Code Playgroud)
这适用于使用美式键盘的Chrome和Firefox:
$('[id$=txtClient]').keypress(function (e) {
if (String.fromCharCode(e.which) == '#') {
e.preventDefault();
}
});
Run Code Online (Sandbox Code Playgroud)
keypress是唯一能为您提供有关输入字符的可靠信息的事件.
演示: http ://jsfiddle.net/elclanrs/ebcet/9/
| 归档时间: |
|
| 查看次数: |
312 次 |
| 最近记录: |