【发布时间】:2018-01-01 20:46:04
【问题描述】:
我想允许输入例如 1:10,但不允许输入 1;10。但是, : 和 ;都对应keyCode 186,所以使用keyCode来防止;输入到我的输入字段中的键不起作用。我还研究了使用 charCodes,但 charCodes 没有 ;或:值。最后,我查看了 ascii 表。它们具有分号和冒号值。我有什么办法可以使用 ascii 表来防止 ;键从输入到我的文本框中,但是允许使用 : 键?还是有另一种方法可以让我这样做?我还考虑过连续检测两个键输入,这样我就可以检测到一个 shift 键输入,但这似乎是一个肮脏的解决方案。
$("input.form-1").bind({
keydown: function(e) {
if(e.which ===186) { //trying to disallow semicolons, which also disallows colons
return false;
}
}
});
【问题讨论】:
-
尝试检查
shiftKey是否关闭 -
它们都对应于美国国际或美国英语键盘上的 keyCode 186。还有很多其他的键盘布局。使用这种方法可能无法正常工作。
标签: javascript jquery html ascii keycode