0

当您需要在页面加载时触发多个函数时,您可以使用以下方式处理它:

function myfunction() {
    alert('My function!');
}

function pctaddLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

pctaddLoadEvent(myfunction);

http://jsfiddle.net/SSEhr/

如果您触发您需要使用该pctaddLoadEvent功能触发的功能,这可以正常工作。但是,如果打算使用外部 JS 文件将那段代码插入到不同的页面上,我需要记住我的代码的稳健性,假设有人在他们的网站中包含了 examplecode.js,但他们也有一些javascript 在他们的网页上,他们有类似的东西:

window.onload = function() {
    alert('user function');
    //and some other user functions
}

如您所见,这将破坏我的代码

简而言之,如何在不关心最终用户功能的情况下启动我的功能 onload?

PS。我不能使用jquery。

4

1 回答 1

0

我认为可以通过使用函数的命名空间来解决这个问题,试试这个javascript 命名空间

于 2013-05-14T09:35:21.827 回答