0

可能重复:
添加多个 onload 处理程序

我可以在现有的 onload 上添加另一个 onload 回调吗?

我已经在网站上实现了 bigpipe,并且资源(javascript)按需加载,并且在正确加载 javascript 后,然后执行 javascript 代码。

这是我有的javascript代码

var code = document.createElement('script');
 code.setAttribute("type", "text/javascript");
 code.setAttribute("src", this.file);
 code.onload = this.onComplete.bind(this);
 code.onreadystatechange = code.onload; // ie fix

执行此代码后,我可以在此之上添加另一个 onload 回调,因此一旦此资源完成加载,它们都会被触发?

4

1 回答 1

0
function onDone ()
{
    alert('im done');
}

function onComplete ()
{
    alert('im completed');
}

var code = document.createElement('script');
code.setAttribute("type", "text/javascript");
code.setAttribute("src", '/js/jquery.js');
code.setAttribute("id", 'jquery');
code.onload = onComplete.bind(this);
document.getElementsByTagName("head")[0].appendChild(code);


resource = document.getElementById('jquery');
onloadPrevious = resource.onload;
resource.onload = function () {

     if (typeof onloadPrevious == "function")
         onloadPrevious();
     onDone();

}
于 2012-11-12T07:57:54.243 回答