Как отключить клавишу Esc на HTML-странице, используя JavaScript или JQuery - PullRequest
9 голосов
/ 18 июля 2011

Я хочу отключить клавишу ESC на странице HTML.Как я могу это сделать?

У меня есть форма, которая отображается как jQuery UI Dialog.Здесь, если я нажму клавишу ESC, форма закроется.Я хочу отключить это.

Ответы [ 3 ]

12 голосов
/ 18 июля 2011

Браузеры ( Firefox , Chrome ...) обычно связывают клавишу Esc с действием «остановить загрузку текущей страницы».Любое другое поведение должно быть специально закодировано с помощью JavaScript.

Диалог пользовательского интерфейса jQuery имеет параметр closeOnEscape .Просто установите его на false:

  • Инициализируйте диалог с указанным параметром closeOnEscape:

    $( ".selector" ).dialog({ closeOnEscape: false });
    
  • Получите или установите параметр closeOnEscapeпосле init:

    //getter
    var closeOnEscape = $( ".selector" ).dialog( "option", "closeOnEscape" );
    //setter
    $( ".selector" ).dialog( "option", "closeOnEscape", false );
    
8 голосов
/ 18 июля 2011
$(document).keydown(function(e) {
    if (e.keyCode == 27) return false;
});

* спасибо, Йохан

4 голосов
/ 18 июля 2011

Лучший способ сделать это - выяснить, какую библиотеку диалогов вы используете (colorbox? Jquery ui? Shadowbox) и отключить клавишу esc (например, в Colorbox вы можете установить escKey опция в ложь).

...