目前,我有一段代码如下所示:
$("#somediv").append(data);
somethingToDoAfterDataAppended();
看起来数据是异步追加的,因此在实际追加数据后不一定会调用下一个函数。
我正在考虑一种将这个函数与“附加数据”事件绑定的方法——这可能吗?
任何其他解决方案同样有用。
目前,我有一段代码如下所示:
$("#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);