1

假设我有以下功能:

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 中之后才有意义的进一步处理。

这种类型的回调可以实现吗?

4

1 回答 1

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.
});
于 2013-03-27T09:36:32.913 回答