如果函数在3秒内未被调用N个记录中的1个,则如何应用超时

当用户执行某个操作(键入)时,我运行一个函数,在100个用户的列表中将特定样式应用于该用户。 随着用户继续键入此function继续运行。

我想要做的是应用一个时间来删除样式。 意味着如果在3秒内未调用该函数,则运行另一个命令以删除样式。

有关如何创建这样的超时的任何建议?

谢谢

使用JavaScript的setTimeout()方法调用一个方法,在3秒(3000毫秒)后删除样式。 见下文:

 var timeout; function clearStyling() { // clear your styling here }; $("#typingBox").on("keypress", function() { clearTimeout(timeout); timeout = setTimeout(clearStyling, 3000); // do your styling here ... }); 

需要看一些代码才能确定,但​​似乎你可以在每个函数调用时使用setTimeout() ( 参见这里的 引用 ),在函数开头用clearTimeout() ( 参见这里的参考 )清除旧的超时。