HTML и Javascript: как управлять фокусировкой на элементах? - PullRequest
1 голос
/ 22 июня 2010

У меня есть несколько вопросов по поводу фокуса в целом (придерживаясь формата WC3, винт IE). У меня проблемы с непреднамеренными действиями, происходящими с виджетом, который я создаю (использующим Dojo Toolkit), и я верю, что лучшее общее понимание фокуса позволит мне решить мою проблему самостоятельно, так что здесь:

Во-первых, какой общий элемент HTML и не может быть сфокусирован? Я пытался сфокусироваться, иногда это работает, а иногда не работает ...

Какой самый высокий уровень фокусировки на странице? Например, могу ли я сфокусировать окно? Тег <body>? Конкретно для додзё, можешь сфокусировать весь виджет? Если шаблон является виджетом, можете ли вы сфокусироваться на самом высоком уровне шаблона (обычно <div>)?


Можно ли "удалить фокус"? Можно ли удалить фокус со всех элементов / объектов на странице, пока не будет сфокусирован следующий объект? Могу ли я предотвратить фокусировку элемента (например, кнопки)?


Каковы все методы, с помощью которых я могу влиять на фокус? Помимо вызова метода focus() для элементов, фокус может быть установлен с помощью атрибутов HTML или в CSS?



Заранее спасибо за то, что я надеюсь получить отличные ответы!

Ответы [ 3 ]

2 голосов
/ 22 июня 2010
  • Отключенные элементы управления не может получить фокус в соответствии со спецификацией HTML4.01

  • Firefocus ,расширение, которое работает через Firebug, может быть большим улучшением, если вы задаете подобные вопросы :) Установите, перезапустите и посмотрите на консоль

  • С фокусом связан порядок, в которомэлементам задается фокус, то есть порядок навигации по вкладкам и атрибут tabindex со значениями -1, 0 или положительными, если он существует

0 голосов
/ 24 июня 2010

Вы также можете использовать dojo.place, чтобы расставить все по местам.

0 голосов
/ 22 июня 2010
  1. Любой элемент DOM может получить фокус среди других обработчиков событий.
  2. См. Ответ 1.
  3. Фокус передается и не удаляется.
  4. Фокус можетустанавливается только DOM с использованием JavaScript.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...