0

現時点では、次のようなコードがあります。

$("#somediv").append(data);
somethingToDoAfterDataAppended();

データは非同期で追加されているようです。そのため、データが実際に追加された後、次の関数が必ずしも呼び出されるとは限りません。

この関数を「データが追加された」イベントにバインドする方法を考えていました-それは可能ですか?

他のソリューションも同様に役立ちます。

4

1 に答える 1

-1

シンプルです。追加方法を変更して、そこに特別なイベントのトリガーを挿入できます。

$.fn.append = (function(old){
   return function(){

       $(this).trigger('beforeAppend'); // if needed
       var result = old.apply(this,arguments);
       $(this).trigger('afterAppend');
       return result;

       }

    })($.fn.append);

初期化ロジックのどこかに:

$("#somediv").bind('afterAppend',somethingToDoAfterDataAppended);

と :)

("#somediv").append(data); 
于 2012-08-11T14:16:25.010 に答える