Получение ключа Esc с помощью jQuery для документа, но не для содержимого

Представьте себе HTML-форму и библиотека jQuery загружена. Мне бы хотелось, чтобы, если кто-то в данный момент не сфокусирован на поле формы и щелкает клавишу Esc, появляется диалоговое окно с вопросом, хотят ли они закрыть окно формы (потому что окно формы открывается как новая вкладка),

Если я попытаюсь записать его в $ (document), у меня возникнет проблема с всплывающим сообщением о событии, когда поля его забирают, поэтому нажатие клавиши Esc в поле вызывает событие.

Как я могу эффективно (ключевое слово) предотвратить всплывающее окно события и захват при нажатии Esc, когда ни одно из полей не имеет фокуса?

2 ответа

Решение

Вы должны будете использовать оператор If, чтобы проверить, что ни один из входов не имеет фокуса:

if ($('input').is(":focus")){ ... }

В моем примере я использую клавишу ввода, чтобы проверить фокус.

Надеюсь это поможет.

Попробуй это:

    var cancelClose=false; // This is a global variable

    $(document).ready(function(){
        $('input, textarea,select').each(
                function(){
                    $(this).focus(
                            function(){
                                cancelClose=true;
                            }
                        );
                    $(this).blur(
                            function(){
                                cancelClose=false;
                            }
                        );
                }
        );
    });

а затем, по документу ключ вниз события

сказать:

  if (cancelClose)
         return false;
Другие вопросы по тегам