2012-08-11 54 views
0

目前,我有一段代碼看起來像這樣:如何在js/jquery中綁定「附加數據」事件?

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

看來,數據異步追加,爲此後的數據實際上是附加了一個功能不一定調用。

我在想一種方法來綁定這個函數與'數據附加'事件 - 是否有可能?

任何其他解決方案將同樣有用。

+0

檢查了這一點:http://stackoverflow.com/questions/6068955/jquery-function-after -append – woot 2012-08-11 12:22:42

+0

或者[this](http://help.dottoro.com/ljrmcldi.php)或[this](http://stackoverflow.com/questions/3219758/detect-changes-in-the-dom) ? – Stano 2012-08-11 12:45:34

+0

'.append'總是同步的。無論問題是什麼,它都在別的地方。嘗試在活動場景中重現此問題。 – 2012-08-11 13:45:30

回答

-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); 
+0

謝謝你的嘗試,同樣的行爲。 – user1364136 2012-08-11 14:34:22

相關問題