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