Вопрос: Javascript Focus на DIV Element не работает на хромированном


Привет, я хочу сосредоточиться на div сразу после загрузки страницы. он отлично работает на Firefox, но не на хроме, он не работает. это мой код:

https://jsfiddle.net/9yb2boxn/

document.getElementById("focusme").focus();
#focusme {width:400px; height:100px; overflow-y:scroll; }
<div id="focusme">
  focus me focus me focus me focus me  focus me focus me focus me focus me  focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me
</div>

в Firefox, когда я запускаю этот код, и я нажимаю стрелку вниз на клавиатуре, прокручивая div. но не на хром. почему эта проблема возникает?

я уже пытаюсь

setTimeout(function() {

   document.getElementById("focusme").focus();

}, 1); 

до сих пор не работает.

пожалуйста помоги. Спасибо


3


источник


Ответы:


Если вы хотите, чтобы элемент без фокусировки был сфокусирован, вы должны добавить к нему атрибут tabindex:

<div id="focusme" tabindex="1"></div>

Кроме того, вы можете использовать ID для доступа к нему с помощью хэша местоположения. См. Ответ на свой вопрос здесь: Можно ли сосредоточиться на <div> с помощью функции javascript focus ()?


10



если вы хотите установить фокус на div через javascript, вы можете использовать ниже код

$("#focusme").attr("tabindex",-1).focus();

Надеюсь, это поможет вам.

 $("#focusme").attr("tabindex",-1).focus();
#focusme {width:400px; height:100px; overflow-y:scroll; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<div id="focusme">
  focus me focus me focus me focus me  focus me focus me focus me focus me  focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me focus me
</div>


1