Javascript focus()不';行不通
我的目标是在使用jQuery加载页面后聚焦输入字段。所以我试着在这个例子中: HTML:Javascript focus()不';行不通,javascript,jquery,html,internet-explorer,firefox,Javascript,Jquery,Html,Internet Explorer,Firefox,我的目标是在使用jQuery加载页面后聚焦输入字段。所以我试着在这个例子中: HTML: <form> <input type="text" tabindex="1"><br> <input type="text" tabindex="2"><br> <input type="text" tabindex="3"><br> <input type="text" tabindex="4
<form>
<input type="text" tabindex="1"><br>
<input type="text" tabindex="2"><br>
<input type="text" tabindex="3"><br>
<input type="text" tabindex="4"><br>
</form>
但是这不起作用(在Firefox24.0中进行了测试),尽管在StackOverflow的其他几个问题中建议使用这种方法
您可以随意尝试一下(有时您需要在第一次页面加载后单击run)
编辑:
<form>
<input type="text" tabindex="1"><br>
<input type="text" tabindex="2"><br>
<input type="text" tabindex="3"><br>
<input type="text" tabindex="4"><br>
</form>
将示例更改为聚焦于第三个元素,因为默认情况下第一个元素是聚焦的。因此,请尊重,如果您的解决方案与第一个元素一起工作,那么它可能与另一个元素不工作
示例不适用于FF 24.0/Win 7&IE 10/Win 7
编辑2:
<form>
<input type="text" tabindex="1"><br>
<input type="text" tabindex="2"><br>
<input type="text" tabindex="3"><br>
<input type="text" tabindex="4"><br>
</form>
正如ghusse所指出的,该示例在小提琴背景之外工作:
所以问题是,;什么会导致.focus()函数不起作用?这应该对您起作用:
setTimeout(function(){
$("*[tabindex='3']").focus();
}, 1);
使用setTimeout时延迟最小 这应该适合你,然后:
setTimeout(function(){
$("*[tabindex='3']").focus();
}, 1);
使用setTimeout时延迟最小 您的代码似乎是正确的,也许fiddle有问题: 您的演示链接对我也不起作用,但“显示页面”很好: 此外,我更喜欢添加“input”而不是*以进行优化(这样只检查input元素而不是每个元素):
您的代码似乎是正确的,也许fiddle有问题: 您的演示链接对我也不起作用,但“显示页面”很好: 此外,我更喜欢添加“input”而不是*以进行优化(这样只检查input元素而不是每个元素):
我认为问题更多地来自JSFIDLE本身,而不是您的代码 在JSFIDLE中显示示例时,焦点设置为javascript代码窗口 如果在中显示代码结果,您将看到,实际上,它是有效的
$(function () {
$("*[tabindex='3']").focus();
});
我认为问题更多地来自JSFIDLE本身,而不是您的代码 在JSFIDLE中显示示例时,焦点设置为javascript代码窗口 如果在中显示代码结果,您将看到,实际上,它是有效的
$(function () {
$("*[tabindex='3']").focus();
});
它适合我:在Chrome和Firefox(最新版本)中都适用。@Johnツ 不适合我。。WIN7/FF24@ArunPJohny有趣的是,我在Ubuntu上…哇,我看到了一个
?旁注-为什么你有输入的结束标记?它对我有用:在Chrome和Firefox(最新版本)中都有。@Johnツ 不适合我。。WIN7/FF24@ArunPJohny有趣的是,我在Ubuntu上…哇,我看到了一个
?旁注-为什么你有输入的结束标记?不,同样的问题存在:(你能做一个JS小提琴的例子吗?不,同样的问题存在:(你能举个JS fiddle的例子吗?谢谢你的建议谢谢你的建议。你是对的。现在的问题是。是什么导致了。focus()无法继续工作,因为此问题出现在我的项目的另一个上下文中。我们需要了解更多有关您的项目的信息。因为,很明显,它是开箱即用的。您的代码中可能有其他内容干扰了焦点。感谢您的建议谢谢您的建议。您是对的。问题是,现在是什么导致了焦点()由于此问题出现在我的项目的另一个上下文中,因此无法继续工作。我们需要了解更多有关您的项目的信息。因为,很明显,它是开箱即用的。您的代码中可能还有其他干扰焦点的内容。