Могут ли несколько элементов HTML получать фокус одновременно? - PullRequest
13 голосов
/ 10 июня 2010

Я кодирую компонент отчетности JavaScript, который требует, чтобы несколько списков LI, т.е. были выбраны вместе как группа с визуальной обратной связью.

Я подумываю об адаптации события onfocus. Возможно ли одновременное получение фокуса несколькими элементами HTML?

Не входы, а DIV, поэтому мне не нужен курсор. Я просто хочу, чтобы несколько DIV'ов были "выбраны" отдельно от других, чтобы их цвет различался для имитации выбора нескольких элементов.

Ответы [ 4 ]

25 голосов
/ 10 июня 2010

Нет, вы можете только фокусировать на один элемент за раз.

3 голосов
/ 10 июня 2010

Как утверждают другие ответы, только один элемент может иметь фокус в любой момент времени.Вместо этого вы можете добавить класс к каждому из выбранных элементов.

Простой пример (с использованием yui) будет:

 <style type="text/css">
     .selectedItem{border: 2px dashed #c0ffee;}
 </style>
...
<ul class='listContainer'>
     <li> ... </li>
     <li> ... </li>
     <li> ... </li>
</ul>
...
<script type="text/javascript">
     Y.one('.listContainer').delegate(
         'click', 
         function(e){ e.currentTarget.toggleClass('selectedItem');}, 
         'li'
     );
</script>
2 голосов
/ 10 июня 2010

Нет. Весь смысл в том, что выбран один элемент (как в «центре внимания» для него). Но если вы хотите двойного ввода текстовых полей, используйте это

<input type="text" name="firstbox" onchange="firstbox.value = secondbox.value; return true;">
<input type="text" name="secondbox">
1 голос
/ 10 июня 2010

Я не верю в это.Если бы два текстовых поля имели фокус в одно и то же время, что бы получить ввод?Вы можете «симулировать» это (одно поле имеет фокус, а код «дублирует» значения), но только один элемент за раз может быть «фокусом».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...