3

別のファイルから要素にコンテンツをロードしていますが、これは正常に機能しますが、作成した新しい動的 div で jQueryUI スライダーを使用できるように、この動的コンテンツにイベント ハンドラーをアタッチしようとしています。少なくともこれを起動できるようになるまで、これをアラートに置き換えました。なぜうまくいかないのかわかりません。どんな助けでも大歓迎です。

if (modalContentCall[objname].private_use == true) {
    $(this).append($('<div>').load('Content_for_injection.htm #private_use'));
    $(this).on('load', function(event){
        alert('load occured');
    });
};

上記の条件付きは機能し、2行目に従ってコンテンツをロードするので、ここまではすべて問題ありませんが、コンテンツがロードされたときに4行目にアラートを表示することはできません。

よろしくお願いします。

4

2 に答える 2

2

ロード コールバック関数を使用して、コンテンツがロードされていることを確認できます。

$(this).append($('<div>').load('Content_for_injection.htm #private_use',function(){
               alert('load occured');
}));

または、より読みやすく、きれいにする..

 var $this=$(this);
 var divContent= $('<div />');
 divContent.load('Content_for_injection.htm #private_use',function(){
               alert('load occured');
        $this.append(divContent);
 });
于 2013-05-10T17:06:00.893 に答える
0

以下のようにしてみてください

 $('body').on('load',this, function(event){

}

于 2013-05-10T17:07:02.647 に答える