Оповещение о вводе ключа, если на html-сайте нет активных форм - PullRequest
0 голосов
/ 01 июня 2011

Я хотел бы создать решение «два в одном» для события нажатия клавиши.

Если я нажму клавишу ввода, и на моем сайте не будет активных элементов формы, я бы хотел предупредить AAA.Еще оставьте активную форму.Как я могу это сделать?

$(document).bind('keypress', function(e) {
        if(e.keyCode==13){
            e.preventDefault();
            alert("AAA");
        }
}); // the enter key hitted and alerted AAA

Но как я могу проверить состояние формы?Это простая форма почтового отправителя с 4 полями, 3 входными и 1 текстовой областью.

По словам Радж, вот хорошее решение для этого:

jQuery.fn.fadeToggle = function(speed, easing, callback) { 
   return this.animate({opacity: 'toggle'}, speed, easing, callback); 
};

var hotkeys = true;
$(document).bind('keypress', function(e) {
    if((e.keyCode==13) &&(hotkeys == true)){
        e.preventDefault();
        $("#boxforfadein").fadeToggle();
    }
});
$("form *").live("focusin", function(){
    hotkeys = false;
    console.log("hotkeys off");
    return hotkeys;
});
$("form *").live("focusout", function(){
    hotkeys = true;
    console.log("hotkeys on");
    return hotkeys;
});

1 Ответ

2 голосов
/ 01 июня 2011

Используйте фокус и фокус , чтобы отслеживать, находится ли ваша форма в фокусе, и отображать соответствующее предупреждение.

Существует также document.activeElement , но я не слишком уверен, поддерживают ли все браузеры

...