【发布时间】:2012-05-11 01:22:03
【问题描述】:
我有这个 jQuery,它可以阻止按下回车键,并且我已经准备好接受一个不允许的按键数组..
$('.form input').bind('keypress', function(e) {
var keys = [13];
for (var i = keys.length; i--;){
if(e.keyCode===keys[i]){
return false;
}
}
});
我想用 | 字符做类似的事情,但由于它是 220 的转变,我不需要阻止 \ 进入表单,我如何限制该字符或使用修饰键? (当然也会在服务器端处理它)。
我也知道特殊字符的键盘布局可能因不同的本地化键盘而异,因此可能需要关注生成的字符而不是键本身(对此并不完全确定),但我不想引入大量开销
【问题讨论】:
-
有特殊的shift键。 e.shiftKey。 stackoverflow.com/questions/3781142/…
-
有特殊的shift键。出于您的目的,您可以使用 e.shiftKey。此 SO Q+A 使用 shift 进行解释:stackoverflow.com/questions/3781142/…。您可以将 e.shiftKey 与 \ 的键码检查结合使用,其中 \ 加上 shift = |。正如其他人所说,这仅适用于标准的美国布局和任何其他键盘支持 shift+\=|和这些代码。
-
取决于键盘。
-
据我所知,管道(|)是
124,而反斜杠(\)是92。 -
你可以改用正则表达式吗?
标签: javascript jquery forms keyboard jquery-events