JQuery在focusout时未触发

JQuery在focusout时未触发,jquery,email-address,focusout,Jquery,Email Address,Focusout,我运行一个商业网站,并试图在客户端防止某些免费电子邮件地址不在我的网站上注册(服务器端将另行处理)。我看过一些帖子,找到了斯金西的答案 我必须对代码进行的唯一真正更改是在输入框的焦点输出上触发检查,然后显示消息并清除输入框 我对JQuery非常陌生,无法理解为什么输入框失去焦点时下面的代码不会触发 所讨论的内容是: 我的JQuery如下所示: jQuery('#inputEmail').focusout(function(){ // Get the email value from

我运行一个商业网站,并试图在客户端防止某些免费电子邮件地址不在我的网站上注册(服务器端将另行处理)。我看过一些帖子,找到了斯金西的答案

我必须对代码进行的唯一真正更改是在输入框的
焦点输出
上触发检查,然后显示消息并清除输入框

我对JQuery非常陌生,无法理解为什么输入框失去焦点时下面的代码不会触发

所讨论的内容是:

我的JQuery如下所示:

jQuery('#inputEmail').focusout(function(){

    // Get the email value from the input with an id="inputEmail"
    var email_addr = jQuery('#inputEmail').val();

    // The regex to check it against
    var re = '[a-zA-Z_\.-]+@((hotmail)|(yahoo)|(gmail)|(outlook)|(protonmail)|(aol))\.[a-z]{2,4}';

    // Check if the email matches
    if(email_addr.match(re)){
        // Email is on the filter list
        // Return false and don't submit the form, or do whatever
        jQuery('#inputEmail').value = "";
        jQuery('#inputEmail').append("<div>To prevent SPAM, free email addresses are no longer accepted on registration. Please enter a valid coorporate email address.</div>");
        
        return false;
    } else {
        // Email ok
        // Allow the form to be submitted
        return true;
    }
});
</script>
jQuery('#inputEmail').focusout(函数(){
//使用id=“inputEmail”从输入中获取电子邮件值
var email_addr=jQuery('#inputEmail').val();
//要检查它的正则表达式
var re='[a-zA-Z\.-]+@((hotmail)|(yahoo)|(gmail)|(outlook)|(protonmail)|(aol))\[a-Z]{2,4};
//检查电子邮件是否匹配
如果(电子邮件地址匹配(重新)){
//电子邮件在筛选列表中
//返回false,不要提交表格,或者做任何事情
jQuery(“#inputEmail”).value=“”;
jQuery(“#inputEmail”).append(“为防止垃圾邮件,注册时不再接受免费电子邮件地址。请输入有效的公司电子邮件地址。”);
返回false;
}否则{
//电子邮件ok
//允许提交表单
返回true;
}
});
我觉得我错过了一些简单的事情

非常感谢您的帮助。

您可以试试这个

$('#inputEmail').on( "focusout", function(){
console.log('Focus Removed')
} );
$(document).on("focusout","#inputEmail",function(){
        alert("Focus Removed");
    });