在前端开发过程,有时会有以下需求:使用input标签作为搜索框,在搜索框中输入内容查询相关结果,类似于百度搜索。
这里主要使用输入框的keyup事件。
keyup事件,会在我们点击一下键盘,就会触发一下。而在真实开发过程中,我们需要通过ajax请求数据。如果点击一下,请求一下。就会频繁发送请求,不建议这样做。
所以我们需要等搜索内容输入完以后,发送一次请求。
做法:
var lastInput = null; // 上一次输入的延迟
$('输入框input标签').on('keyup', function(event) {
clearTimeout(lastInput);
lastInput = setTimeout(() => {
// 在你停止输入250ms后,发送请求
}, 250)
});
以上方法可以实现类似百度搜索一样的效果,边输入,输入后显示搜索结果。