1

.show() 関数が呼び出された後に表示される非表示の div にフォーカスしようとしています。Ivは、show()。focus()または分割を含むいくつかのことを試しました

$(".messageDisplayArea").show();
$("#message_display_area").focus();

div は表示されますが、ページはそれにフォーカスを移しません。

<script>
    function showMessage(id, row) {
            selectRow(row);         
            $(".messageDisplayArea").show();        
            $("#message_display_area").focus();
    }

</script>


<div class="messageDisplayArea" id="message_display_area" style="display: none;">

<p> Test Test Test </p>

</div>

私は何が欠けていますか?これが含まれているページはかなり大きく、div はページの下部に表示されます。ブラウザーをジャンプダウンさせて、新しい div にフォーカスを当てたい

4

4 に答える 4

2

次の行を置き換えます。

$("#message_display_area").focus();

この行で:

window.location.hash = "message_display_area";
于 2013-07-08T16:32:17.993 に答える
2

あなたが私たちにコードを与えてくれた限り、このフィドルのように、あなたが持っているものはうまくいくはずです。

http://jsfiddle.net/SuERE/

http://jsfiddle.net/SuERE/1/

HTML:

<button type="button">Show and Focus</button>
<div style='height:700px'></div>
<input type="text" id="input" style='display:none;'/>

Javascript:

$("button").on("click",function(){
   $("#input").show();
    $("#input").focus();
});
于 2013-07-08T16:33:19.417 に答える
1

フォーカスは、ページが要素にスクロールされることを意味するものではなく、実際にはフォーム コントロールがカーソルを取得するためによく使用されます。

実際に必要なのは、新しく作成された div のページ オフセットを計算し、ページをその位置にスクロールする scrollToElement() 関数 です

于 2013-07-08T16:31:46.643 に答える
0

tabindexもう 1 つの方法は、属性を div 要素に追加することです。これにより、focusメソッドを実行して検索し、自動的に移動できるようになります。

<div id="message-display-area" tabindex=1000>...</div>

JSFiddleが動作していることを示します。

于 2013-07-08T16:40:39.920 に答える