Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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 Chrome:在jquery淡出后恢复文档焦点_Javascript_Jquery_Google Chrome_Focus_Fadeout - Fatal编程技术网

Javascript Chrome:在jquery淡出后恢复文档焦点

Javascript Chrome:在jquery淡出后恢复文档焦点,javascript,jquery,google-chrome,focus,fadeout,Javascript,Jquery,Google Chrome,Focus,Fadeout,我试图有一个覆盖,我可以切换键盘键。 但是,一旦我使用淡出隐藏菜单,文档将不会收到我的按键事件,直到我在窗口中单击。如何使文档接收焦点,以便在淡出完成后直接收听 <div id="overlay" class="overlay"> <input type="text" value="test"/> </div> $('#overlay').on('keydown', function() { $('#overlay').fadeOut

我试图有一个覆盖,我可以切换键盘键。 但是,一旦我使用淡出隐藏菜单,文档将不会收到我的按键事件,直到我在窗口中单击。如何使文档接收焦点,以便在淡出完成后直接收听

<div id="overlay" class="overlay">
    <input type="text" value="test"/>    
</div>

$('#overlay').on('keydown', function() {
    $('#overlay').fadeOut(1000);
    return false;
});

$(document).on('keydown', function() {
   $('#overlay').fadeIn(1000);
    return false;
});

.overlay {
    position: fixed;
    background: black;
    color: white;
    width: 50%;
    height: 100px;
}

$('#overlay')。on('keydown',function(){
$(“#叠加”)。淡出(1000);
返回false;
});
$(文档).on('keydown',function(){
$('叠加').fadeIn(1000);
返回false;
});
.覆盖{
位置:固定;
背景:黑色;
颜色:白色;
宽度:50%;
高度:100px;
}

将光标放在输入字段中,按一个键。 它会在一秒钟内消失。之后,在我用鼠标点击文档之前,文档不会收到任何向下键。如何使文档接收焦点,以便只需一个键盘键即可切换模式


编辑:在不同的浏览器中测试小提琴。这个问题似乎是chrome特有的。

淡出覆盖层后,将焦点从文本字段中移除


谢谢这就解决了问题!奇怪的是,将焦点设置回文档并没有撤消输入焦点。
$(document).ready(function () {
    $('#overlay').on('keyup', function () {
        $('#overlay').fadeOut(1000);
        $("input[type='text']").blur();
        return false;
    });

    $('body').on('keyup', function () {
        $('#overlay').fadeIn(1000);
        return false;
    });
});