0

jQuery ロードのベスト プラクティスについて質問があります。次の状況を想像してください。

$("#div").on('click', function() {
$('#result').load('test.html');
});

コードは正常に動作し、load メソッドは実行されますが、読み込まれたコンテンツに jQuery プラグインからアクセスできなくなります。私はこのように解決しました:

$("#div").on('click', function() {
$('#result').load('test.html', function(){
$('.element').plugin();
});
});

私の質問は簡単です。この状況を解決するためのより良い方法はありますか?

4

2 に答える 2

2

parent理想的には、要素のをターゲットにする必要があります...この例id="div"のコンテナとしましょう。<div id="wrap">次に.on()parentコンテナーを次のようにセレクターとして使用します。

$("#wrap").on("click", "#div", function() {
 $('#result').load('test.html');
});

ロードされたコンテンツは、他のプラグインからアクセスできます。

この形式の使用は、jQuery v1.7.x 以降で.on()実際に置き換えられました。.live()

最終的に、あなたもできる

$("body").on("click", "#div", function() {
 $('#result').load('test.html');
});
于 2012-04-01T19:59:20.767 に答える
2

あなたは正しい方法でそれをやっています。プラグイン メソッドを呼び出すコードは、ロードが div へのロードを完了した後にのみ実行されます。それで、あなたは行ってもいいです。

おそらく、すべてのコードを document.ready 内にラップして、dom の読み込みが完了した後にのみ実行されるようにすることができます。

$(function(){
     $("#div").on('click', function() {
        $('#result').load('test.html', function(){
           $('.element').plugin();
         });
      });    
});
于 2012-04-01T19:47:40.717 に答える