我正在尝试禁止在文本输入框中输入其他字符。
因为要输入$
符号,必须按下shift键和4键。我不确定如何获取类似这样的按键的keyCode?
我正在尝试禁止在文本输入框中输入其他字符。
因为要输入$
符号,必须按下shift键和4键。我不确定如何获取类似这样的按键的keyCode?
按键代码仅与按键相关。 $
是一个字符,通过两个键Shift和4实现。在使用onkeydown
时,没有明确的$
按键代码。
编辑:Edward指出onkeypress
使用键组合,并且对组合具有键码。每天都可以学到新东西 :)
这里有一些代码,从MDN提供的onkeydown
示例中进行了编辑,以检测按键代码。
这是更新后的fiddle,使用this S.O. post的帮助使其兼容Firefox。如果你喜欢JQuery解决方案,那也可以。
onkeypress
,但将其替换为 onkeydown
在Firefox中确实可行。 - Nick对于 $
,没有键码,因为它不是有效的按键 - 必须通过某种类型的转换器来访问。
通常,您需要执行检查以查看转换器是否处于活动状态,并侦听相关键上的 keypress
事件。在您的情况下,类似于 QWERTY 布局的以下内容:
var shiftPressed = false;
$(window).keydown(function(e) {
if(e.which == 16) { shiftPressed = true; }
if(e.which == 52 && shiftPressed)
{
// Do whatever here...
}
});
$(window).keyup(function(e) {
if(e.which == 16) { shiftPressed = false; }
});
onkeypress - Unicode字符代码为:36
onkeydown - Unicode键代码为:52