danielle_he 2009-04-15 16:34
浏览 239
已采纳

FireFox中js出错

function window.onfocus(){

}

这段代码在IE下能正常执行, 在FireFox中出错, 求js代码代替以上代码, 在IE和FireFox下都能正常执行


补充: function window.onfocus(){ ..... } 不是中间那段代码的问题, 既使中间什么也没有也不行, 关键是window.onfocus的问题

  • 写回答

3条回答 默认 最新

  • wanghaolovezlq 2009-04-15 16:39
    关注

    var isIE = (navigator.appName == "Microsoft Internet Explorer");
    var hasFocus = true;
    var active_element;

    function setFocusEvents() {
    active_element = document.activeElement;
    if (isIE) {
    document.onfocusout = function() { onWindowBlur(); }
    document.onfocusin = function() { onWindowFocus(); }
    } else {
    window.onblur = function() { onWindowBlur(); }
    window.onfocus = function() { onWindowFocus(); }
    }
    }

    function onWindowFocus() {
    hasFocus = true;
    }

    function onWindowBlur() {
    if (active_element != document.activeElement) {
    active_element = document.activeElement;
    return;
    }
    hasFocus = false;
    }

    这段代码应该可以解决问题,
    自己修改成适合自己的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?