Регистрация keyup на Ctrl при использовании для изменения вкладок в JQuery - PullRequest
0 голосов
/ 23 ноября 2011

Я создал Wysiwyg HTML-редактор. Когда пользователь удерживает нажатой клавишу Ctrl, для переменной ctrlPressed устанавливается значение true. Когда событие key up запускается с кодом клавиши Ctrl, тогда ctrlPressed устанавливается в false.

Однако, когда пользователь нажимает Ctrl + PgUp для изменения вкладок, для ctrlPressed невозможно снова установить значение false, поскольку, когда они отпускают управляющую клавишу, он запускает событие keyup на новой вкладке, поэтому, когда пользователь возвращается к исходной вкладке с моим веб-сайтом, мой веб-сайт все еще думает, что нажата клавиша Ctrl. Это означает, что, когда они пытаются набрать i, он устанавливает текст курсивом, а когда пользователь нажимает «s», содержимое сохраняется до тех пор, пока они снова не нажмут и не отпустят Ctrl.

Есть ли решение этой проблемы?

Спасибо!

Ответы [ 2 ]

1 голос
/ 24 ноября 2011

Чтобы установить для переменной ctrlPressed значение false, когда пользователь покидает сайт, вы можете прикрепить событие blur() к элементу $ (window) следующим образом:

$(window).blur(function(){
    ctrlPressed = false;
});
0 голосов
/ 23 ноября 2011

Установить ctrlPressed в false, когда вы обнаружите, что загружена новая вкладка?

...