Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.12.2012, 01:26
Аватар для pikko
Аспирант
Отправить личное сообщение для pikko Посмотреть профиль Найти все сообщения от pikko
 
Регистрация: 06.10.2012
Сообщений: 60

после 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, 19.12.2012 в 05:51.
Ответить с цитированием
  #2 (permalink)  
Старый 19.12.2012, 03:06
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

pikko,
Спасает пробежка по всем табам с указанием onblur
Ответить с цитированием
  #3 (permalink)  
Старый 19.12.2012, 03:14
Аватар для pikko
Аспирант
Отправить личное сообщение для pikko Посмотреть профиль Найти все сообщения от pikko
 
Регистрация: 06.10.2012
Сообщений: 60

Deff, что имеется ввиду под "табами" ? когда по ним пробегаться? и что делать при onblur ?

ведь проблема в том, что когда возвращаешься в браузер фокус непонятно где
Ответить с цитированием
  #4 (permalink)  
Старый 19.12.2012, 03:39
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от pikko
Deff, что имеется ввиду под "табами" ? когда по ним пробегаться? и что делать при onblur ?
Под табами подразумевается тот же конечный массив объектов, что и при пробежке
по Alt+Tab,
Цитата:
и что делать при onblur ?
После пробежки и onblur можно применять onkeyup и onkeydown:
Точнее пробежку сделать при нажатии любой из этих клавиш(возможно придется продублировать
(сымитировать повторное нажатие скриптом) onkeyup и onkeydown: при наличии снятия фокуса с выбранных элементов данного массива "Alt+Tab" - объектов

Последний раз редактировалось Deff, 19.12.2012 в 03:56.
Ответить с цитированием
  #5 (permalink)  
Старый 19.12.2012, 03:58
Аватар для pikko
Аспирант
Отправить личное сообщение для pikko Посмотреть профиль Найти все сообщения от pikko
 
Регистрация: 06.10.2012
Сообщений: 60

я понял — я непонятно объяснил:
Alt+Tab перехватываю не я, а операционная система
и переключает фокус между открытыми окнами-приложениями
( например: браузер, менеджер файлов, недобраузер, любимая игра, и что-там-ещё-открыто ... )

и я не пытаюсь перехватить Alt+Tab, меня интересуют другие клавиши, и вот они не перехватываются после возврата в браузер с помощью Alt+Tab
Ответить с цитированием
  #6 (permalink)  
Старый 19.12.2012, 04:07
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от pikko
Alt+Tab перехватываю не я, а операционная система
ясн - я думал Alt+Tab - фокус на элементы страницы браузера, ксать имхо есть вроде сочетание клавиш, временно блокирующие Alt+Tab (не наю возможно ли их сымитировать скриптом из браузера
Ответить с цитированием
  #7 (permalink)  
Старый 19.12.2012, 05:53
Аватар для pikko
Аспирант
Отправить личное сообщение для pikko Посмотреть профиль Найти все сообщения от pikko
 
Регистрация: 06.10.2012
Сообщений: 60

Всё решено! Тема больше неактуальна.
проблема была в моём говно-алгоритме
кнопка Alt из комбинации Alt+Tab записывалась как нажатая, но вовремя не удалялась, так как для неё не наступало событие onkeyup, и мешала дальше своей "нажатостью"


PS: жаль нет кнопки "удалить тему"

Последний раз редактировалось pikko, 19.12.2012 в 05:58.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск