这是我的问题,我在实现 jQuery.Autocomplete 和 jQuery.validate 的表单中有一个输入元素,除了单击自动完成列表中的一个元素来选择它之外,所有这些都正常工作。
发生的情况是验证发生在自动完成设置其值之前。因为验证发生在 onBlur 上,并且您刚刚单击了自动完成列表中的一个项目,所以在输入填充其新值之前的一瞬间,模糊触发和验证发生。
如果它是客户端,我不介意双重验证,但我碰巧在这个字段上执行昂贵的远程 ajax 验证,所以我真的很想以正确的方式解决这个问题。
我的第一个想法是通过一个 10 毫秒后超时的函数来代理所有验证 onBlur 事件,本质上是翻转事件顺序。但是,我认为,这意味着撕毁 jQuery.Validate.js 代码,我宁愿不这样做。
有任何想法吗?