代码之家  ›  专栏  ›  技术社区  ›  Claudiu

取消以前的$.get()调用

  •  0
  • Claudiu  · 技术社区  · 14 年前

    我有一个作为自动完成字段的输入框。我绑定了一个jQuery 键控()

    假设我正在搜索“stackoverflow”。有时,当我已经键入“stack”时,我得到的最后一个列表是“st”,它将带来比所需更多的匹配。有什么办法能确保我接到的最后一个电话是真正的最后一个吗?

    我想的是确保新的数据更小,或者至少等于我以前的数据,但我想这将是很多。

    http://graph.facebook.com/100000530820249/friends (如果你有Facebook帐户,你可以尝试 http://graph.facebook.com/me/friends 如果你需要我名单的认证)。

    我真的需要获取数据服务器端进行一些处理,因此纯粹的JS方法是不可能的。该解决方案只应确保ajax调用不会重叠。。。

    提前谢谢大家!

    2 回复  |  直到 14 年前
        1
  •  1
  •   Alastair Pitts    14 年前

    $.get() 基于计时器。当用户执行 keyup keydown 事件,取消超时。这意味着,如果用户正在快速键入,则它将仅在用户停止/暂停时触发。

    另外,另一个选项是使用jQueryUI自动完成小部件: http://jqueryui.com/demos/autocomplete/

        2
  •  1
  •   VoteyDisciple    14 年前