LocalSearch 延时检索 [Hexo.NexT]

NexT 自带的 LocalSearch 有两种触发检索的方式:

1
2
trigger: auto #自动触发
trigger: manual #手动触发

手动触发要按 Enter ,太麻烦,所以我使用的是自动触发。
但是自动触发有一点让我很别扭,它太快了,因为是本地检索,所以几乎没有延时。
这样并不是很好,所以给它加一个延时!

插件位置:\themes\next\layout\_third-party\search\localsearch.swig

修改触发的方法
1
2
3
4
// 找到这句代码,大约在第 282 行:
input.addEventListener('input', inputEventFunction);
// 修改为:
input.addEventListener('input', autoInputEventFunction);
定义 autoInputEventFunction 方法
1
2
3
4
5
6
7
8
9
// 找到这句代码,大约在第 67 行:
var resultContent = document.getElementById(content_id);
// 在下面新增:
var autoInputEventFunction = function() {
setTimeout(function(){
inputEventFunction();
},300)
}
// 当然,你也可以不新增在这个位置,自己斟酌。

好了,现在检索结果不会急着出现了。