我有这个问题:
我有实时表单验证,但输入有自动完成功能,因此当您从中选择一个值时,它不会触发eny事件,我无法开始验证新值。
这是我想到的一些解决方案
我在想输入触发onfocus事件时,我可以定期启动(例如每一秒)在输入上调用一些验证函数,无论值是否改变。
在模糊事件中,我想停止调用该函数。
但我无法弄清楚如何定期开始调用该函数......
到目前为止我所拥有的:
$('input[name="'+input_name+'"]').focus(function(){
checkInput(input_name);
});
function checkInput(input_name){
setInterval(doneTyping(input_name),700);
console.log(1);
}
但这只发生一次,我怎么能这样做?
感谢。
答案 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。