开发工具 jQuery 小插件 - jquery-koala

kenshin54 · 2013年04月07日 · 最后由 search 回复于 2013年04月07日 · 3652 次阅读

jquery koala是一个用来捕获用户连续输入,延迟执行键盘事件回调的插件。

主要应用场景比如:

对于用户连续的输入想进行 ajax 查询,但是不想对每个输入字符都做请求,想再用户 完成一次真正输入 后,再发起请求。

假设用户想输入的是 ruby(你并不知道用户想输入的内容),正常在 keyup 里写 ajax 的话,会对 r, ru, rub, ruby 都发起请求。使用 koala,可以帮助你识别用户连续输入的状况,捕获用户真正想输入的内容,再调用真正的事件回调。

使用

$('.koala').koala({
  delay: 200,
  keyup: function(event){
    // do anything you want
    // ex. ajax
  }
});

具体请参考https://github.com/kenshin54/jquery-koala

第 1w 帖,好巧

哈哈哈,应该给你颁个奖

是个挺 不错的插件。

呵呵,其实只要用 underscore 的 throttle 函数就行了 http://underscorejs.org/#throttle 另外只监听了 key 的三个事件是不够的,还有很多边缘情况需要处理,所以最简单的做法是用 setInterval + focus/blur 去处理

我一般就把 debounce 从 underscore 里抽出来。

#4 楼 @edokeh #5 楼 @doitian

晕,不知道有 debounce,找了半天没找到,才自己写了个。看了 debounce 的实现,原理差不多。

我是看到 10001 贴然后直接输入 10000 贴过来的~~~好快~~~

这个是我的 jquery 兄弟么...

9 楼 已删除
需要 登录 后方可回复, 如果你还没有账号请 注册新账号