2017-01-16 76 views
0

我正在使用此方法为加载页面时设置一个函数。多次就绪状态更改

它工作正常,但我想实际调用不同页面上的各种功能集。问题是我每次包含这个代码都会覆盖前一个代码,因此只有一个函数在页面加载时启动。

document.onreadystatechange = function() { 
    var state = document.readyState 
    if (state == 'interactive') { 

    } else if (state == 'complete') { 
    myFunc(); 
    } 

} 

那么如何添加函数而不是每次为onreadystatechange创建一个新函数呢?

+1

使用'addEventListener'。 – Xufox

+1

为什么以及为什么使用'onreadystatechange'?听起来你应该使用['DOMContentLoaded'](https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded)来代替? – adeneo

+0

DOMContentLoaded – Guesser

回答

0

如果我正确理解你,你需要document.addEventListener()。这种方法允许您将多个功能分配给同一个事件。

组合的信息和示例代码上MDN发现:

document.addEventListener('readystatechange', function(evt) { 
    switch (evt.target.readyState) { 
    case "loading": 
     // The document is still loading. 
     break; 
    case "interactive": 
     // The document has finished loading. We can now access the DOM elements. 
     break; 
    case "complete": 
     // The document and all sub-resources have finished loading. 
     myFunc(); 
     break; 
    } 
}, false);