首页 > 解决方案 > 从缓存填充输入时,jquery更改功能不起作用

问题描述

我尝试使用 jquery 进行表单验证器。通常,除了一种情况外,一切正常。

我希望输入我的函数 checkEmail 检查是否一切正常。如果不是,输入的颜色将变为红色。当我写入或粘贴以输入时,它可以工作,但是当我从缓存中选择值(浏览器给我要选择的值列表)时,我的输入不会改变颜色。

const checkEmail = () => {
if (!validator.isEmail(emailInput.val())) {
    emailInput.removeClass('input-success')
    emailInput.addClass('input-error')
    return false
} else {
    emailInput.removeClass('input-error')
    emailInput.addClass('input-success')
    return true
}

}

emailInput.change('input', checkEmail);

有什么方法可以触发真正的任何变化的功能吗?我尝试 setTimeOut 但看起来 jquery 在我的输入中看不到值。

PS。我是新来的,请耐心等待:)

标签: javascriptjquery

解决方案


emailInput.on('input', checkEmail);

这里的演示https://jsfiddle.net/kt56opsx/


推荐阅读