Получение ключа 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;