0
目前,我有一段代碼看起來像這樣:如何在js/jquery中綁定「附加數據」事件?
$("#somediv").append(data);
somethingToDoAfterDataAppended();
看來,數據異步追加,爲此後的數據實際上是附加了一個功能不一定調用。
我在想一種方法來綁定這個函數與'數據附加'事件 - 是否有可能?
任何其他解決方案將同樣有用。
目前,我有一段代碼看起來像這樣:如何在js/jquery中綁定「附加數據」事件?
$("#somediv").append(data);
somethingToDoAfterDataAppended();
看來,數據異步追加,爲此後的數據實際上是附加了一個功能不一定調用。
我在想一種方法來綁定這個函數與'數據附加'事件 - 是否有可能?
任何其他解決方案將同樣有用。
很簡單。您可以更改追加方法併爲您插入特殊事件的觸發器。
$.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);
謝謝你的嘗試,同樣的行爲。 – user1364136 2012-08-11 14:34:22
檢查了這一點:http://stackoverflow.com/questions/6068955/jquery-function-after -append – woot 2012-08-11 12:22:42
或者[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
'.append'總是同步的。無論問題是什麼,它都在別的地方。嘗試在活動場景中重現此問題。 – 2012-08-11 13:45:30