3

他の人が以前にこの問題に遭遇したことを知っています。私はあらゆる種類のさまざまなソリューションを検索して試しました ( JQuery focusJQuery Problem .... Focus が機能せず、 JQuery focus() は IE ではフォーカスされていませんが、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>
4

2 に答える 2

1

IE.fadeOut(100)で何らかのタイプの衝突を引き起こしているのは

変えればうまくいく

$("div.textInput").fadeOut(100).html('<input class="textBox focus" type="text">').fadeIn(200);

 $("div.textInput").html('<input class="textBox focus" type="text">').fadeIn(200);

http://jsfiddle.net/8mpRg/1/ [Run in IE]

于 2012-05-19T10:48:45.297 に答える
1

私のIEフォーカスの問題は、fadeOut()とfadeIn()の使用にも関係していました。簡単に言うと、私のコードはフォーカスを設定し、テキスト ボックスを 2 回点滅させ、フォーカスをリセットします。

$('#friend_name').focus();
$('#friend_name').fadeOut(400);
$('#friend_name').fadeIn(400);
$('#friend_name').fadeOut(400);
$('#friend_name').fadeIn(400);
setTimeout(function () {
  $('#friend_name').focus();
}, 1300);

IE でフォーカス関数を機能させるには、fadexx 関数の合計遅延よりも長い遅延を追加する必要があることがわかりました。

$('#friend_name').focus()Chrome では、遅延呼び出しを省略できました。

于 2015-10-13T14:35:46.723 に答える