Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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 为什么按下Alt键时会引发html input onBlur事件?_Javascript_Html - Fatal编程技术网

Javascript 为什么按下Alt键时会引发html input onBlur事件?

Javascript 为什么按下Alt键时会引发html input onBlur事件?,javascript,html,Javascript,Html,我发现每次按Alt键时,html输入onBlur事件都会出现。 有人知道为什么,以及如何预防吗 UPD: 我用这个模拟页面来测试 <!DOCTYPE html> <html> <head> <script> var init = function(){ var element = document.querySelector("#InputID"); element.onkeyup = function(e){ v

我发现每次按Alt键时,html输入onBlur事件都会出现。 有人知道为什么,以及如何预防吗

UPD:

我用这个模拟页面来测试

<!DOCTYPE html>
<html>
<head>
<script>
var init = function(){

    var element = document.querySelector("#InputID");

    element.onkeyup = function(e){
       var key = e.keyCode || e.which;
       if(key==18) {
          console.log('alt')
          e.preventDefault();
       }
    };

    element.onblur = function(e){
       console.log('blur')
    };
}
</script>
</head>
<body onload="init()">
    <input type="text" id="InputID">
</body>
</html>

var init=函数(){
var元素=document.querySelector(“#InputID”);
element.onkeyup=函数(e){
var key=e.keyCode | | e.which;
如果(键==18){
console.log('alt')
e、 预防默认值();
}
};
element.onblur=函数(e){
console.log('blur')
};
}
如果我按Alt log,则如下所示(即使我将onkeyup更改为onkeydown):

“模糊”


“alt”

在Windows系统上,窗口将按下
alt
键解释为想要打开窗口的菜单,并使当前输入有效地模糊您的输入

您可以使用
preventDefault
来阻止此操作

var element = document.querySelector("#InputID");
element.onkeyup = function(e){
   var key = e.keyCode || e.which;
   if(key===18) {
      e.preventDefault();
   }
}; 
18是
alt


虽然它似乎在IE上仍然会引起模糊

@PatrickEvans-我不常这么说,但这应该是一个答案,而不是一个评论:)谢谢你的回答,但这对我不起作用:(.看起来像是在上键甚至下键之前触发的模糊events@user2753903,您使用的是什么浏览器?我使用chrome,但在firefox中也会发生这种情况。在opera blur中,不会触发。@user2753903在chrome和firefox中对我起作用。编辑您的问题以显示您如何使用代码。@user2753903似乎无法重现它在chrome中不起作用或者firefox,即使使用问题中显示的确切代码。