【问题标题】:fire ajax request only when user pauses in jquery UI autocomplete仅当用户在 jquery UI 自动完成中暂停时触发 ajax 请求
【发布时间】:2012-07-31 21:08:02
【问题描述】:

我有一个 jQuery UI 自动完成表单,它可以从远程源获取数据,但是当连接速度很慢时,它会变得不稳定(排队请求,并弄乱结果)。我们如何在用户暂停之前阻止请求触发。

【问题讨论】:

标签: javascript jquery jquery-ui autocomplete jquery-ui-autocomplete


【解决方案1】:

我认为delay 选项应该适合你:

自动完成在击键后等待激活自身的延迟(以毫秒为单位)。零延迟对本地数据有意义(响应速度更快),但会为远程数据产生大量负载,同时响应速度较慢。

默认情况下,它是 300 (ms),但您应该增加它以满足您的需要。

$("#my-input").autocomplete({
    /* options */,
    delay: 750
});

例如比较以下两个例子:

【讨论】:

  • 并且,如果您需要,根据逻辑,您可以更改处理过程中的延迟 - 例如,如果出现多个请求的队列,则在延迟中添加一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-21
  • 2013-02-08
  • 2018-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多