0

我有一个append()and a focus(),它设置为将第一个输入集中在附加的dom.

IE 需要时间来追加,因此焦点不起作用。有没有办法(除了)在完全附加setTimeout后设置焦点?dom

谢谢!

4

2 回答 2

1

append()并且appendTo()是同步命令,因此不需要回调。

$(child).appendTo(parent)
        .focus();

如果您使用多个append()语句,这实际上比简单地附加一次大的东西要慢得多。这可以解释为什么你发现它在 IE 中需要一段时间。

于 2012-06-21T19:09:25.790 回答
0
var oldHtml, el, toBeAppended;
function appendAndFocus()
{
   oldHtml = el.html();
   el.append(toBeAppended);
   appnedAndFocus_h()
}
function appnedAndFocus_h()
{
   if(el.html()==oldHtml) //if(el==oldHtml) - CORRECTED.
   {
      setTimeout(appendAndFocus_h, 10); //just for browser to be taken a breath.
      return;
   }
   else
   {
      el.focus();
   } 
}

注意:未经测试的代码。

于 2012-06-21T19:13:25.230 回答