使用javascript阻止按键
这是我阻止按键的代码,但我无法阻止这些按键:使用javascript阻止按键,javascript,jquery,html,Javascript,Jquery,Html,这是我阻止按键的代码,但我无法阻止这些按键: { } | ~ 如何将其添加到代码中 <html><head> <script> function ort(){ if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 &
{ } | ~
如何将其添加到代码中
<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>
函数ort(){
如果((event.keyCode>32&&event.keyCode<48)| |(event.keyCode>57&&event.keyCode<65)| |(event.keyCode>90&&event.keyCode<97){event.returnValue=false;}
}
这在Chrome中有效:
关键是检查每个浏览器返回的所有键代码,因为它们略有不同。我发现了一个包含以下数据的示例:
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 ' "
keydown/keyup event.keyCode
按下Opera MSIE Firefox Safari Chrome键
_________________________________________________________
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;
}
}
函数ort(事件){
如果((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;
}
}
使用此项查找所有字符代码:
可以使用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;
}
}
函数ort(){
//如果按下{或}或|或~。(字符代码122-127)
如果((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.preventDefault();
返回false;
}
}
您要阻止和不想阻止的键是什么?这4个键:{}~|您是否试图阻止在页面上的任何位置或特定区域按下它们?(输入、文本区域等)是的,但是,根据你想要的,屏蔽除你想要的以外的所有键可能更有意义。@在html
onKeyPress=“ort()”
到onKeyPress=“ort(event)”
之后的代码为true:)很抱歉,该函数应命名为ort(event),同样应反映在html中(onkeydown=“ort(event)”),但该函数现在在我的网站中播放,没有任何更改!