我知道其他人以前遇到过这个问题。我已经搜索并尝试了各种不同的解决方案(包括JQuery focus和JQuery Problem .... Focus not working和JQuery focus() is not focus in IE but it is in Chrome)但没有任何效果。
当代码在 FF 和 Chrome 中运行时,焦点会随之而来。但是,在 IE(我使用的是 IE9)中,没有这样的运气。焦点未放在输入文本上。任何援助将不胜感激。
// textInputArray contains the input field along with some other html with instructions
// about the input field
$("input.answerBox").live("keypress", function(event) {
if ((event.which == 13) && (i < textInputArrayLength)){
$("div.textInput").html(textInputArray[i])
.fadeIn(200);
$("input.focus:last").focus();
i++;
}
}
同样,在 FF 和 Chrome 中一切都按预期工作,但在 IE 中则不然。textInput div 的内容被替换,但输入文本框在 IE 中没有获得焦点。
编辑:根据要求的html
<div id="menuBar">
<ul class="dropdown">
<li class="menuLi"><a href="#" class="blank">Item 1</a>
<ul class="sub_menu">
<li class="menuLi"><a href="#" class="blank">Number</a>
<ul class="sub_sub_menu">
<li class="menuLi"><a href="/test/index.php" class="menuItem blank">Sub Item 1</a></li>
<li class="menuLi"><a href="/test/index.php" class="menuItem blank">Sub Item 2</a></li>
</ul>
</ul>
</ul>
<br>
</div>
<div id="main">
<h1 class="header1">Quick Quiz</h1>
<div class="textInput">
</div>
</div>
<div class="footer"></div>