我正在为网站开发自动搜索功能。
它使用 ajax 来查询 api。
在输入 3 个字符后,它会在每次按键时搜索。
我想要的是
Case1:
用户输入 tes
2 秒通过搜索执行
Case2:
用户输入 tes
1 秒 pass
用户按 t
2 秒 pass
搜索在 test 上执行
案例 3 :
用户输入 tes
1 秒通过
用户按下 t
1.5 秒通过
用户按下 i
1.5 秒通过
用户按下 n
1.5 秒通过
用户按下 g
2 秒通过
search in 在测试中执行
如您所见,仅在按键后的两秒钟内没有按键(或粘贴等)时才执行搜索操作。
我的基本想法是。
on keydown 调用一个设置超时的函数,该函数还设置一个包含文本框中最后一个条目的变量。当超时到期时,它会检查框中的值以查看它是否与变量中的值匹配。
如果它们匹配,则没有变化。所以做搜索
如果他们不做任何事情,因为随后按键的超时将跟随做同样的检查。
这是唯一/最好的方法吗?