我正在使用jQuery Typewatch,但它已不再维护,而且我遇到了问题。
我正在使用它来启动ajax搜索功能。如果用户输入搜索词,例如“bob”,它将按预期执行ajax回调。但是,如果用户或脚本清除包含搜索词的文本框,然后再次键入“bob”,则不会触发回调运行。
是否有解决此问题的方法,或者是jQuery Typewatch的替代插件或创建相同功能的方法(在用户输入完成后运行回调)?
这是基本的TypeWatch JS。 ajaxSearch是一个标准的jQuery $.ajax
函数。
$("#search").typeWatch({
callback: ajaxSearch,
wait: 750,
highlight: false,
captureLength: 2
});
答案 0 :(得分:1)
啊,这是来自typewatch.js的自我解释:
// Fire if text > options.minTextLength AND text != saved txt OR if override AND text > options.minTextLength
//if ((elTxt.length > options.minTextLength && elTxt.toUpperCase() != timer.text)
if ((elTxt.length > options.minTextLength)
我应该先看看那里。但至少它可能对其他人有帮助。
答案 1 :(得分:0)
它看起来像一个相当简单的插件。我快速查看了代码,看起来也很简单。
// Fire if text > options.captureLength AND text != saved txt OR if override AND text > options.captureLength
这一行引起了我的注意,它在触发事件之前检查了最后一个值。您也可以使用简单的change
触发器和一些自定义逻辑来实现此目的,或者您可以修改插件以满足您的需求。