2017-01-16 11 views
0

このメソッドを使用して、ページがロードされたときの機能を設定しています。レディ状態の複数回の変更

実際にはうまくいきますが、実際にはさまざまなページでさまざまな機能を呼び出す必要があります。問題は、このコードをインクルードするたびに1つ前の関数を上書きするため、1つの関数だけがページの読み込みで起動されることです。

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); 
関連する問題