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

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

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

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

Ответ 1

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

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

Ответ 2

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

Ответ 3

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

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

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

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