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

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

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

共收到 9 条回复

第1w帖,好巧

哈哈哈,应该给你颁个奖

是个挺 不错的插件。

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

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

#4楼 @edokeh #5楼 @doitian

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

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

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

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