我似乎遇到了一些人已经遇到的问题,但我无法解决这个问题。
我有一个Javascript函数,它将焦点放在我生成的全部网页(ASP.NET 2.0)中的特定字段上。
这个javascript函数是通过我页面末尾的ScriptManager
对象注册的。
当我第一次进入页面时,focus()
不起作用。我可以看到我正确调用它,但焦点没有在指定的控件中设置(与getElementById
一起找到)。
在这个页面上,我有一个只链接到同一页面的按钮,当我点击它并刷新页面时,焦点就可以了。
我真的不明白,我尝试了很多提议的解决方案(settimeout
,defer
,...),我无法让它发挥作用。
它在IE8上工作正常,但并非所有用户都能使用它。
有人可以帮我吗?
答案 0 :(得分:0)
您使用innerHTML加载AJAX内容吗?如果是这样就停止!永远不要使用innerHTML或adjacentHTML,坚持使用符合W3C DOM的方法(importNode,insertBefore和appendChild),否则内容将被转储到DOM上而不能正确处理。这是许多安静的错误之一,真正归结为其他人的输入。
同时确保您没有使用被视为保留的非常简单的术语。微软有一个单词(官方或非正式)的列表,如果你使用IE只是不会说什么,只会不执行代码。