2009-10-18 2 views
0

Я пишу приложение в JavaScript (с JQuery). Приложение обладает множеством функциональных возможностей, которые пользователю необходимо получить быстро и, возможно, в одно и то же время (вы можете думать об этом как о игре, даже если это не игра), поэтому я настроил ее на использование клавиатуры. У меня есть прототип системы, работающей (по крайней мере, в Chrome), но есть проблема в том, что, когда я нажимаю, например, Ctrl-T, открывается новая вкладка. Я хотел бы использовать это как часть моего приложения, например, для переключения некоторых параметров. В общем, я хотел бы отключить функциональность клавиш Ctrl-key браузера. Это касается Alt и Shift. По-другому я также хотел бы отключить использование браузера Tab. В принципе, я хочу, чтобы мое приложение имело полный контроль над клавиатурой во время ее использования (если они хотят перемещаться, они все равно смогут сделать это с помощью мыши). Я добавлю оговорку, что меня не интересуют некоторые из менее распространенных ключей (F1-F12, Windows/Mac-Command, Menu, все, что угодно справа от клавиши Enter), потому что мое приложение в основном предназначено для ноутбуков, а многие из них имеют эти ключи, поэтому они не будут использоваться.Отключить функциональность ключа в браузере

Мой вопрос в том, как я могу отключить эту функцию браузера w/JavaScript/JQuery/DOM?

Я понимаю, что использование функций браузера таким образом звучит очень авторитарно, но на самом деле это совершенно необходимо. Из прототипа и некоторых пользователей тестовой аудитории (моя семья) все согласились, что это хорошая идея.

Я также подумал о переносе приложения из браузера и написании его на каком-либо языке приложения (возможно, Java), но я хочу узнать, возможна ли такая функциональность в JavaScript перед тем, как сделать такой тип коммутатора. Тем не менее, это время прототипирования, поэтому каждая идея все еще нужна для рассмотрения!

ответ

0

В принципе, вы возвращаете false в нужное время. См. Это: How to create Ctrl+Key shortcuts in Javascript.

Я должен добавить и сказать, что иногда это не сработает - это до браузера, чтобы это разрешить.
Кроме того, иногда можно изменить e.which на другой ключ, но опять же, это не всегда срабатывает.

Смежные вопросы