如何触发(窗口)。关注页面加载?

问题描述 投票:2回答:1

加载页面时,焦点/模糊状态未激活。例如,当切换到另一个选项卡blur时显示,并且切换回页面focus时将激活–但是在页面的第一次加载时,没有激活任何状态,为什么?这是预期的行为还是我搞砸了?

$(function(){
$(window).focus(function() {
        document.title="focus";
    });

    $(window).blur(function() {
        document.title="blur";
    });
});

更新好像像Rory在注释dosn't中添加}).focus();一样,由于浏览器的更改,它们不再有任何区别–因此,我仍在寻找一种方法来检测对页面加载的关注。

更新2我添加了一个onload来充当“假装焦点”,到目前为止,这是我设法做到的最好的选择。不知道这是否是一个合理的解决方案,所以如果您有更好的解决方案,我很乐意参与其中。

window.onload = function(){
    document.title="focus";
};

window.onblur = function() {
    document.title="blur";
};

window.onfocus = function() {
    document.title="focus";
};
javascript jquery focus detection blur
1个回答
-2
投票

https://jsfiddle.net/lorenzo_f/362f7ot4/10/

if(document.hasFocus()) {
    $( "body" ).text("Windows got focus");
} else {
    $( "body" ).text("Windows lost focus");
}

$( window ).on("focus", function() {
    $( "body" ).text("Windows got focus");
});

$( window ).on("blur", function() {
    $( "body" ).text("Windows lost focus");
});
<!DOCTYPE html>

<html lang="it">
<head>

</head>
<body>


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.