javascript - 如果 html 站点中没有事件表单,则按 Enter 键发出警报

标签 javascript jquery html events keyboard-shortcuts

我想为按键事件制作一个二合一的解决方案。

如果我按 Enter 键,并且我的网站中没有事件的表单元素,我想提醒 AAA。 否则提交事件表格。我该怎么做?

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

但是我如何检查表单的状态?这是一个简单的邮件发送器表单,有 4 个字段、3 个输入、1 个文本区域。

根据 Raj 的评论,这是一个很好的解决方案:

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;
});

最佳答案

使用focus focusout 跟踪您的表单是否具有焦点并显示适当的警报。

还有document.activeElement 但我不太确定是否所有浏览器都支持它

关于javascript - 如果 html 站点中没有事件表单,则按 Enter 键发出警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6194560/

相关文章:

javascript - this.href 与 $(this).attr ('href' )

javascript - 如何打开选项卡(tabpane)并滚动到它?

javascript - 检查其值存储在数组中的复选框

javascript - 使用 jQuery,我需要根据输入值创建一个分隔字符串

javascript - 运行 fancybox-thumb 时隐藏其他图像

javascript - 面向非 JavaScript 用户的编程

javascript - React JS 追加

javascript - Twitter Bootstrap - 导航崩溃

javascript - 将图像存储到 localStorage

java - 使用 Selenium IE webdriver 和 JAVA 识别特定字符串后面的文本