我有一个append()
and a focus()
,它设置为将第一个输入集中在附加的dom
.
IE 需要时间来追加,因此焦点不起作用。有没有办法(除了)在完全附加setTimeout
后设置焦点?dom
谢谢!
我有一个append()
and a focus()
,它设置为将第一个输入集中在附加的dom
.
IE 需要时间来追加,因此焦点不起作用。有没有办法(除了)在完全附加setTimeout
后设置焦点?dom
谢谢!
append()
并且appendTo()
是同步命令,因此不需要回调。
$(child).appendTo(parent)
.focus();
如果您使用多个append()
语句,这实际上比简单地附加一次大的东西要慢得多。这可以解释为什么你发现它在 IE 中需要一段时间。
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();
}
}
注意:未经测试的代码。