假设我有以下功能:
function createDiv(){
var div = $("<div>");
//here specify a callback to be triggered after the div has been attached to the DOM.
return div;
}
div元素将附加到DOM主体,而假设我对它何时真正成为DOM 的一部分没有任何想法。但最终应用程序的其他部分将负责将元素附加到活动DOM。在createDiv函数中使用假设,我希望有一个回调来执行进一步的过程,这些过程只有在元素位于DOM之后才有意义。
这种回调是否可以实现?
答案 0 :(得分:1)
任何动态创建的元素只有在调用其他方法将其附加到DOMtree中之后才会附加到DOM,如append()
,html()
,text()
等等。
这里,在你的函数中,你只是创建一个元素并返回它..所以这实际上并没有附加到DOM ...创建的div应首先附加到DOM然后你可以指定回调后触发这是... ...
例如,
function createDiv(){
var div = $("<div>");
return div;
}
$(function(){
var DivElement=createDiv();
$('body').append(DivElement); //so now you are sure the element is in the DOM.
});