как установить фокус на div с помощью javascript или jquery, когда # уже добавлен в url?

Я хочу установить фокус на конкретный div с помощью jQuery или javascript. я просто использую document.getElementById("pack_0").focus(); в этом "pack_0" мой идентификатор div, но он не работает. Я заметил, что " # "уже добавлен в мой url из-за некоторого всплывающего кодирования, поэтому мой url-адрес" http://localhost/website/book#'

Итак, может ли кто-нибудь помочь мне полностью сосредоточиться на div, когда # в url?

спасибо заранее.

3 ответов


из вопроса я думаю, что вы на самом деле подразумеваете под "фокусировкой div" "изменение положения вертикальной прокрутки окна, чтобы div был виден". Если это так, вы можете использовать следующий фрагмент кода jQuery:

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

предположение Энтони Гриста, вероятно, правильно в вашем случае. Однако это может помочь другим, ищущим по этой теме, узнать, что если желаемый объект фокус является DIV, что DIV должен иметь tabindex установить, например, tabindex= "9999". В противном случае, большинство браузеров не будет фокус.


чтобы установить фокус на div сначала нам нужно определить tabindex для конкретного div, как показано ниже

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

и jquery для установки фокуса

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