Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript阻止按键_Javascript_Jquery_Html - Fatal编程技术网

使用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)”),但该函数现在在我的网站中播放,没有任何更改!