Javascript 在Safari中,首次对输入调用.focus()会滞后

Javascript 在Safari中,首次对输入调用.focus()会滞后,javascript,performance,safari,focus,Javascript,Performance,Safari,Focus,当我在一个文本输入元素上调用.focus()时,所需时间大约是之后在同一个元素上调用.focus()所需时间的10倍。页面越大,延迟就越长——在我的例子中,延迟大约是一秒钟,这是非常明显的。 手动单击该字段也有同样的效果-之后调用.focus(),速度很快 下面是一个要演示的JSFIDLE: 有没有关于如何消除延迟的想法?在document.ready中设置焦点。像 $(document).ready(function () { document.ge

当我在一个文本输入元素上调用
.focus()
时,所需时间大约是之后在同一个元素上调用
.focus()
所需时间的10倍。页面越大,延迟就越长——在我的例子中,延迟大约是一秒钟,这是非常明显的。 手动单击该字段也有同样的效果-之后调用
.focus()
,速度很快

下面是一个要演示的JSFIDLE:


有没有关于如何消除延迟的想法?

在document.ready中设置焦点。像

       $(document).ready(function () {
               document.getElementById("test_input").focus()
}

在document.ready中设置焦点。像

       $(document).ready(function () {
               document.getElementById("test_input").focus()
}

在小提琴中,
console
0
@Rayon-In-Safari?在小提琴中,
console
0
@Rayon-In-Safari?这不起作用。我将焦点设置在某个用户事件上-当激活选项卡时,我希望该字段被聚焦。有许多选项卡,每个选项卡上都有一个输入字段。在选项卡句柄单击上设置焦点只会使切换选项卡变慢,因为焦点滞后。然后在激活选项卡时设置焦点,因为.focus()滞后,使得选项卡之间的切换非常滞后。请尝试此文档。querySelector('input')。autofocus=true;在你的条件下,把它弄错,这是行不通的。我将焦点设置在某个用户事件上-当激活选项卡时,我希望该字段被聚焦。有许多选项卡,每个选项卡上都有一个输入字段。在选项卡句柄单击上设置焦点只会使切换选项卡变慢,因为焦点滞后。然后在激活选项卡时设置焦点,因为.focus()滞后,使得选项卡之间的切换非常滞后。请尝试此文档。querySelector('input')。autofocus=true;在你的条件下把它弄错