多窗口onload的问题

时间:2017-11-23 01:18:37

标签: javascript

我幸运地在网上找到了这个代码,用于完全从另一个主题添加onload

function myPluginLoadEvent(func) {
        // assign any pre-defined functions on 'window.onload' to a variable
        var oldOnLoad = window.onload;
        // if there is not any function hooked to it
        if (typeof window.onload != 'function') {
            // you can hook your function with it
            window.onload = func
        } else { // someone already hooked a function
            window.onload = function () {
                // call the function hooked already
                oldOnLoad();
                // call your awesome function
                func();
            }
        }
    }

    // pass the function you want to call at 'window.onload', in the function defined above
    myPluginLoadEvent(func);

但是,这只允许在onload调用上添加一个。如何为加载调用多次循环,例如i,1 ++? 非常感谢提前。

1 个答案:

答案 0 :(得分:1)

您发布的代码将重复使用。每次调用时,oldOnLoad都包含先前分配给window.onload的内容,这可能是之前使用的结果。所以它只是继续链接所有功能。

但是,现代方法是使用addEventListener而不是分配给window.onload

window.addEventListener("load", func);