在事件开始周期性地调用函数

时间:2014-07-24 10:44:43

标签: javascript jquery

我有这个问题:

我有实时表单验证,但输入有自动完成功能,因此当您从中选择一个值时,它不会触发eny事件,我无法开始验证新值。

这是我想到的一些解决方案

我在想输入触发onfocus事件时,我可以定期启动(例如每一秒)在输入上调用一些验证函数,无论值是否改变。

在模糊事件中,我想停止调用该函数。

但我无法弄清楚如何定期开始调用该函数......

到目前为止我所拥有的:

$('input[name="'+input_name+'"]').focus(function(){

            checkInput(input_name);

});

function checkInput(input_name){

    setInterval(doneTyping(input_name),700);
    console.log(1);
}

但这只发生一次,我怎么能这样做?

感谢。

2 个答案:

答案 0 :(得分:1)

setInterval需要一个匿名函数

myInterval = setInterval(function(){doneTyping(input_name);},700);

//To clear
clearTimeout(myInterval);

答案 1 :(得分:1)

就像

一样
var intervalID = window.setInterval(function(){ doneTyping(input_name); }, 700);

请参阅this fiddle