javascript - Jquery focusout 通过每次鼠标点击运行多次

标签 javascript jquery

我尝试通过 jquery 中的鼠标移出来验证文本框,我的代码通过任何鼠标移出运行都意味着它显示输入有效的电子邮件。多次,每次我在文本框外单击时。 这是我的代码:

$(document).ready(function() {
    $('#EmailAddress').focusout(function() {
        var email = $.trim($('#EmailAddress').val() || '');
        if (email.length == 0 || !emailregx.test(email)) {
            $(this).addClass('ChangetoYellow');
            $(this).after('<div class="Required">Enter valid Email.</div>');
            return false;
        } else {
            $(this).next(".Required").remove();
            $(this).removeClass('ChangetoYellow');
            return true;
        }
    });
});

我的代码在 document.ready 之外时不起作用。

这是我每次点击时跑过时得到的结果:

enter image description here

最佳答案

$(this).after('<div class="Required">Enter valid Email.</div>');

这将在每次焦点移出输入框后添加一个新的焦点。

而是在文本框下方放置一个占位符 div。

<div id="emailErrorMsg"></div>

然后做

$('#emailErrorMsg').html('Enter valid Email.');

这还可以让您添加更多错误消息。

关于javascript - Jquery focusout 通过每次鼠标点击运行多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37405741/

相关文章:

javascript - For循环错误: Uncaught ReferenceError,变量未定义。怎么了?

javascript - 通过函数使用 Splice() 方法推送数字

javascript - 使用Moment js的倒数计时器

jQuery - 基于访问次数的 CSS 样式切换器,使用 cookie

jquery 移动滑动页面,用于类似于 Facebook 的设置

jquery - 通过jquery去除TABLE、TR、TD标签

javascript - 无限滚动+ masonry 崩溃

javascript - 在灯箱中打开视频时显示暂停状态

javascript - 使用通用 javascript 时无法访问 Vue 组件中的 DOM 元素

jquery - 动态jquery表排序