在IE6问题中focus()

时间:2011-12-06 19:07:10

标签: javascript internet-explorer focus

我似乎遇到了一些人已经遇到的问题,但我无法解决这个问题。

我有一个Javascript函数,它将焦点放在我生成的全部网页(ASP.NET 2.0)中的特定字段上。 这个javascript函数是通过我页面末尾的ScriptManager对象注册的。

当我第一次进入页面时,focus()不起作用。我可以看到我正确调用它,但焦点没有在指定的控件中设置(与getElementById一起找到)。 在这个页面上,我有一个只链接到同一页面的按钮,当我点击它并刷新页面时,焦点就可以了。

我真的不明白,我尝试了很多提议的解决方案(settimeoutdefer,...),我无法让它发挥作用。

它在IE8上工作正常,但并非所有用户都能使用它。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

您使用innerHTML加载AJAX内容吗?如果是这样就停止!永远不要使用innerHTML或adjacentHTML,坚持使用符合W3C DOM的方法(importNode,insertBefore和appendChild),否则内容将被转储到DOM上而不能正确处理。这是许多安静的错误之一,真正归结为其他人的输入。

同时确保您没有使用被视为保留的非常简单的术语。微软有一个单词(官方或非正式)的列表,如果你使用IE只是不会说什么,只会不执行代码。