web-dev-qa-db-ja.com

#URLに既に追加されている場合、JavaScriptまたはjqueryを使用してdivにフォーカスを設定する方法

Jqueryまたはjavascriptを使用して特定のdivにフォーカスを設定したいと思います。 'pack_0'が私のdiv idであるというだけでdocument.getElementById("pack_0").focus();を使用しましたが、機能しません。ポップアップコーディングのため、URLに「#」がすでに追加されていることに気づきました。そのため、私のURLは「http:// localhost/website/book#」です。

だから、誰かが私が強制的に完全にdivに集中するのを手伝ってくれる?

前もって感謝します。

12
Jimesh Gajera

質問から、「divにフォーカス」とは実際には「divが表示されるようにウィンドウの垂直スクロール位置を変更する」という意味だと思います。その場合は、次のjQueryコードを使用できます。

$(window).scrollTop($('#pack_0').offset().top);
23
Anthony Grist

あなたの場合、Anthony Gristの仮定はおそらく正しいです。ただし、このトピックを検索する他の人が、目的のオブジェクトが フォーカス DIVです。DIVには tabindex 設定します(例:tabindex = "9999")。そうしないと、ほとんどのブラウザーはフォーカスを割り当てません。

6
LukeAmerica2020

最初にdivにフォーカスを設定するには、以下のように特定のdivのtabindexを定義する必要があります

<div class="leftbar-btn-module" tabindex="-1">'Content'</div>

そしてjqueryはフォーカスを設定します

jQuery(".leftbar-btn-module").attr("tabindex",-1).focus();
5
Digisha