0

我在准备好的函数底部有这个:

$("inputText").focus();

...并且随着页面的加载,光标inputText 输入 Text 中停留了一段时间,但随后又失去了焦点。什么可能导致这种情况,我如何迫使焦点停留在那里?

更新

我想知道“原始”Javascript是否会有所作为:

document.getElementById("inputText").focus();

它没有。

也许这是一个已知问题;当您去亚马逊时,您会认为光标会将焦点集中在搜索输入文本上,但事实并非如此-我总是必须单击,我认为这很蹩脚。然而,它适用于必应,所以这显然是可能的。

4

2 回答 2

1

那是你的真实代码吗?你的选择器是真的inputText吗?在这种情况下,这可能就是问题所在。

我的猜测是输入首先自动聚焦。inputText然后文档就绪处理程序启动并查找我认为您没有的标签。我猜你有<input id="inputText" />,它被选中,$("#inputText")所以选择器找不到任何东西并将焦点从输入移开。

由于您已标记此 asp.net,因此进行了额外检查。您在使用网络表单吗?在这种情况下,html id 不可靠,因为 Web 表单引擎会弄乱 id - 使用 css 类 intead 和$(".inputText")选择器。

于 2013-05-25T14:42:56.497 回答
1

尝试使用窗口加载

$(window).load(function () {

// 运行代码 });

这意味着整个页面已加载,然后您的代码将运行并且应该将焦点放在输入字段中。这是文档的链接:http: //api.jquery.com/load-event/

于 2013-05-25T14:43:13.967 回答