2

.loadを使用してページにコンテンツをロードしようとしていますが、ロードされたコンテンツでのみ使用されるjsファイルがいくつかあるので、コンテンツがロードされた後にのみこれらのファイルをロードしたいと思います。これは私のコードです:

$("#highlight").load("content.php #" + $(this).attr('name'), function(){
                $.getScript('js/jquery-ui-1.9.2.custom.min.js');
                $.getScript('js/plugins.js');
                $.getScript('js/script2.js');
                });

このコードはメインページに含まれているscript.jsにあり、content.phpの後にロードするにはscript2.js、plugins.js、jquery uiが必要ですが、機能していないようです。助けてくれる人に事前に感謝します。

編集:

アイデアは、ロードされたコンテンツでいくつかのjquery関数を機能させることです。これに対する解決策はありがたいです。

4

1 に答える 1

2

loadコールバックが正常に呼び出されたとすると、$.getScriptこの方法を使用する場合の問題は、コールバックが非同期であるため、順序が狂って実行される可能性があることです。適切な順序を確保するには、$.ajax直接使用するか(async:falseオプションとして、およびを使用dataType: "script")、または互いのコールバックでロードをチェーンします(ページの残りのスクリプトのブロックを回避します)。

$("#highlight").load("content.php#" + $(this).attr('name'), function(){
    $.getScript('js/jquery-ui-1.9.2.custom.min.js', function() {
        $.getScript('js/plugins.js', function() {
            $.getScript('js/script2.js');
        });
    });
});
于 2012-12-27T10:09:21.713 に答える