这是我阻止按键的代码,但我无法阻止这些按键:
{ } | ~
如何将其添加到我的代码中?
<html><head>
<script>
function ort(){
if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)){event.returnValue = false;}
}
</script>
</head>
<body>
<form onSubmit="return false;">
<input type="text" onKeyPress="ort()">
</form>
</body>
</html>
答案 0 :(得分:1)
使用它来查找所有字符代码: http://unixpapa.com/js/key.html
您可以使用CTRL-F查找所需的字符代码。
function ort() {
// if { OR } OR | OR ~ are pressed. (Character codes 122-127)
if ((event.keyCode > 32 && event.keyCode < 48) ||
(event.keyCode > 57 && event.keyCode < 65) ||
(event.keyCode > 90 && event.keyCode < 97) ||
(event.keyCode > 122 && event.keyCode < 127)) {
// prevent default behaviour
event.preventDefault();
return false;
}
}
答案 1 :(得分:0)
适用于Chrome:fiddle。
键用于检查为每个浏览器返回的所有密钥代码,因为它们稍有不同。我找到了key code table这个数据:
keydown/keyup event.keyCode
Opera MSIE Firefox Safari Chrome Key pressed
_________________________________________________________
188 188 188 188 188 , <
190 190 190 190 190 . >
191 191 191 191 191 / ?
192 192 192 192 192 ` ~
219 219 219 219 219 [ {
220 220 220 220 220 \ |
221 221 221 221 221 ] }
222 222 222 222 222 ' "
显然,您想要抑制的键与您的预期不同。 这是新的按键处理程序:
function ort(event) {
if ((event.keyCode > 32 && event.keyCode < 48) ||
(event.keyCode > 57 && event.keyCode < 65) ||
(event.keyCode > 90 && event.keyCode < 97) ||
(event.keyCode > 122 && event.keyCode < 127))
{
event.returnValue = false;
}
}