0

我在控制器中为电子邮件验证设置了一些远程验证,以便可以立即验证电子邮件。我希望更进一步,并在用户仍在输入时验证电子邮件。现在,当用户第一次将焦点从文本框移开时,它会验证,但如果他们回到文本框,它将在按键上进行验证。有没有办法使用不同的触发器设置远程验证?也许甚至是一个键,但经过一定时间后?

4

1 回答 1

1

setTimeout在运行验证代码之前,您可以使用基本的 Javascript 来完成此操作。

一个使用 jQuery 的简单示例:

$('#myElement').keyup(function(){
     setTimeout(ValidationFunction,1000);
});

如果您需要在按下某个键时清除超时,您可以执行以下操作:

var myTimeoutFunction;

$('#myElement').keyup(function(){
         myTimeoutFunction = setTimeout(ValidationFunction,1000);
    });

$('#myElement').keydown(function(){
     window.clearTimeout(myTimeoutFunction);
});

这是一个工作示例

于 2012-05-10T14:13:33.097 回答