Как предотвратить нажатие ALT в модальном диалоге в IE, чтобы не переключаться в скрытое меню - PullRequest
2 голосов
/ 10 июля 2009

При создании диалога с использованием window.showModalDialog (где в параметрах не отображается ни адресная строка, ни панель инструментов) из JavaScript в IE - поведение нажатия клавиши ALT делает что-то нежелательное.

Когда вы нажимаете клавишу ALT, когда фокус находится на модальном диалоговом окне - событие нажатия клавиши ALT обрабатывается моим прекрасным кодом JavaScript, но независимо от того, разрешу ли я этому событию продолжать всплывать или нет - кажется, что IE всегда переключение фокуса на «скрытое» меню в модальном диалоге. Вы можете войти в это меню из модального диалога, нажав ALT, а затем пробел.

Последовательность событий:

  1. В модальном диалоге пользователь нажимает клавишу ALT
  2. Мой код обработки событий перехватывает этот ключ ALT и что-то делает
  3. Пользователь нажимает другую клавишу
  4. Мой код обработки событий (для любого keyup) не выполняется, похоже, что b / c фокус был на меню alt + space, а последнее нажатие клавиши переместило фокус обратно в модальное диалоговое окно
  5. Пользователь нажимает другую клавишу
  6. Мой код обработки событий выполняется как обычно

Вот функции, которые я поставляю showModalDialog:

var strFeatures = "unadorned:yes,resizable:no;scroll:yes;help:no;status:no;";

Есть ли способ предотвратить фокусировку на скрытом меню после нажатия клавиши Alt для модальных диалогов? При создании обычного окна с использованием window.open - такое поведение НЕ происходит, и нажатие ALT не приводит к скрытому меню (при условии, что меню отключено, адресная строка выключена и т. Д.)

...