после Alt+Tab не обрабатываются onkeyup и onkeydown
примерно таким образом определяю обработчики для onkeyup и onkeydown:
document.onkeydown = function ( event ) { event = event || window.event; pushed( event.keyCode ) } document.onkeyup = function ( event ) { event = event || window.event; released( event.keyCode ) } всё замечательно работает, но если переключиться на другое окно с помощью Alt+Tab, то после того как опять возвращаешься в браузер onkeyup и onkeydown не обрабатываются, до того момента пока не кликнуть в окно или клавишей Tab не перевести туда фокус. Посмотрел, у Яндекса такой проблемы нет ( там на переключение между страницами поисковой выдачи повешаны Ctrl+стрелки ). Не особо хочется лезть в яндексовскую мешанину яваскриптов ( точнее времени на это сейчас совсем нет ). Может кто знает почему так происходит и как возвращать фокус document'у после Alt+Tab? UPD: всё решено! проблема была в моём говно-алгоритме :) |
pikko,
Спасает пробежка по всем табам с указанием onblur |
Deff, что имеется ввиду под "табами" ? когда по ним пробегаться? и что делать при onblur ?
ведь проблема в том, что когда возвращаешься в браузер фокус непонятно где |
Цитата:
по Alt+Tab, Цитата:
Точнее пробежку сделать при нажатии любой из этих клавиш(возможно придется продублировать (сымитировать повторное нажатие скриптом) onkeyup и onkeydown: при наличии снятия фокуса с выбранных элементов данного массива "Alt+Tab" - объектов |
я понял — я непонятно объяснил:
Alt+Tab перехватываю не я, а операционная система :) и переключает фокус между открытыми окнами-приложениями ( например: браузер, менеджер файлов, недобраузер, любимая игра, и что-там-ещё-открыто ... ) и я не пытаюсь перехватить Alt+Tab, меня интересуют другие клавиши, и вот они не перехватываются после возврата в браузер с помощью Alt+Tab |
Цитата:
|
Всё решено! Тема больше неактуальна.
проблема была в моём говно-алгоритме :) кнопка Alt из комбинации Alt+Tab записывалась как нажатая, но вовремя не удалялась, так как для неё не наступало событие onkeyup, и мешала дальше своей "нажатостью" PS: жаль нет кнопки "удалить тему" |
Часовой пояс GMT +3, время: 10:44. |