Jam*_*xon 6 jquery jquery-ui autocomplete jquery-ui-autocomplete
我有两个使用相当大的json对象(1.2mb)的测试用例:
source: data
Run Code Online (Sandbox Code Playgroud)
和
source: function (request, response) {
response(data);
}
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,自动完成功能正如我所料.
在第二种情况下,自动完成偶尔会起作用并且非常慢.有时浏览器会在再次释放之前挂起3-4秒"没有响应".
第二种情况与第一种情况相比有何不同?
(我会在某个时候在这个函数中加入一些过滤逻辑,但是现在我正在测试这个).
当您将数据集作为本地对象传递时,您的数据集将被过滤,但在使用回调时不会被过滤(这将是程序员的责任).
使用source: data自动完成过滤器时,为您设置结果集:
response($.ui.autocomplete.filter(array, request.term));
Run Code Online (Sandbox Code Playgroud)
使用回调时,source: function(request, response) { response(data) }不会应用任何过滤,因此您的页面会生成1.3MB的json标记.
当自动完成从本地源加载数据时,它会缓存数据.远程检索时,默认情况下不会缓存它.
此jQuery UI自动完成文档解释了该行为,并建议如何为远程调用实现缓存.
http://jqueryui.com/demos/autocomplete/#remote-with-cache
| 归档时间: |
|
| 查看次数: |
3261 次 |
| 最近记录: |