0

私は古くて乱雑なサイトを持っており、jQuery コードの一部を整理して保守を容易にし、すべての document.ready 関数を 1 回の呼び出しにまとめたいと考えています。問題は、ページごとに異なるセットのインクルードがあり、そのうちのいくつかには独自の .ready 関数があることです。

私がやろうと思ったことは、これをメインページに入れることです:

var documentReadyFunction = function() {
    //do something
};

そして、これをヘッダー/スクリプトファイルに入れます:

jQuery(document).ready(function() {
    if (typeof documentReadyFunction != 'undefined') {
        documentReadyFunction();
    }
});

1 か所で必要なすべての準備完了関数を知ることができれば問題なく動作しますが、できるようにしたいのは、2 つの呼び出しの間のファイルから .ready で実行するスクリプトをさらに追加することです。どうすればこれを達成できますか、それが良い考えですか?

4

2 に答える 2

1

これを知っているかどうかはわかりませんが、$(document).ready(fn)への複数の呼び出しが許可されており、元の関数をオーバーライドするだけでなく、呼び出すこともできます。

詳細については、 http://www.learningjquery.com/2006/09/multiple-document-readyを参照してください。なお、いずれかのエラーが発生した場合、以下の機能は実行されません。

于 2012-04-12T11:36:02.393 に答える
0

この方法を試すことができます。

<script type="text/javascript" >
 $(function(){
    init();
 });

 function init(){
   someFunction();
   //other init stuff
 }

 function someFunction(){
   }
</script>

(または) 複数の document.ready が必要な場合は、次の方法で実行できます。

ここから: http://www.learningjquery.com/2006/09/multiple-document-ready

$(document).ready(function() {
  // some code here
});
$(document).ready(function() {
  // other code here
});
于 2012-04-12T11:30:57.297 に答える