jquery更改事件序列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery更改事件序列相关的知识,希望对你有一定的参考价值。
我已经在表单上的textarea中添加了ajax验证,并使用html中的onblur启动它。但是我注意到,如果我去提交,onblur事件不会触发。阅读了大量的背景后,我发现了一个setTimeout的技巧,我觉得应该通过延迟提交直到模糊之后才能工作。但我显然做错了什么或误解了什么事实,因为它不起作用。
我已经在一个文件就绪块中编写了以下代码,该文件读入页脚中的页面:
$('button[type="submit"]').click(function(){
setTimeout(() => this,0);
$("#description").trigger('blur');
});
任何人都可以看到/解释我的问题
答案
据我所知,您使用AJAX将文本字段值发送到服务器以验证它。
函数setTimeout在你的情况下不会有用。您必须先等待验证结果。验证结果到达后提交表格。
所以你的代码可能如下所示:
var isValid;
$("#description").on('blur', function(event){
isValid = false;
startValidation().then(function(){
isValid = true;
form.submit();
});
});
$('button[type="submit"]').on('click', function(event){
if (!isValid){
event.preventDefault();
return false;
}
});
以上是关于jquery更改事件序列的主要内容,如果未能解决你的问题,请参考以下文章