jQuery .blur无法在Firefox中运行

时间:2016-11-24 16:05:51

标签: javascript jquery blur

当我失去焦点时,我试图隐藏我的网站。 问题是,当我点击网站上的iframe时,它会失去焦点。为了防止这种情况,我有以下代码,它在Chrome甚至Edge中都能很好地运行。为什么这在Firefox中不起作用?

jQuery(window).focus(function() {
    jQuery("body").show();
}).blur(function() {
    if(document.activeElement != (document.getElementsByTagName("iframe")[0] || document.getElementsByTagName("embed")[0])) {
        jQuery("body").hide();
    }
});

jQuery(document).ready无法解决我的问题

1 个答案:

答案 0 :(得分:1)

Firefox在使用activeElement时遇到了一些麻烦,请尝试以下代码:

jQuery(window).focus(function(e) {
    jQuery("body").show();
}).blur(function(e) {
    if(e.target != (document.getElementsByTagName("iframe")[0] || document.getElementsByTagName("embed")[0])) {
        jQuery("body").hide();
    }
});

希望现在有效。 :)