У меня есть лайтбокс, похожий на div, который появляется на страницах для представления прокручиваемого контента.В FF, IE и Chrome пользователь может прокручивать лайтбокс с помощью клавиш со стрелками и pagedown / up так же просто, как назначить ему tabindex и вызвать .focus ().
В Opera, .focus () ничего не делает, и клавиши tab / arrow / page будут продолжать работать с любыми элементами tabstop на фоновой странице.
Вот скрипка для иллюстрации проблемы: http://jsfiddle.net/9W943/5/
Я видел многопримеры того, как сфокусировать div, но никто не признает, что подход tabindex не работает в Opera.Есть ли способ заставить Opera фокусироваться на лайтбоксе?В противном случае, какой лучший обходной путь - слушать ключевые события и затем «вручную» прокручивать лайтбокс?(Или я могу перенаправить события?)
Я попытался вызвать .click () для лайтбокса и создать + отправку события поддельного щелчка - поскольку прокрутка клавиатуры работает правильно после нажатия на нее - но ни одна из них не сработала.
Кроме того, мне очень любопытно, почему нестандартно не фокусируемые элементы не являются вводимыми, поскольку они могут и действительно получать события клавиатуры!Как вы определяете сфокусированный элемент, если не как элемент, с которым можно взаимодействовать через клавиатуру?