【发布时间】:2010-09-17 03:41:54
【问题描述】:
我有一个页面,其中搜索结果显示在网格和地图上(使用动态生成的 KML,覆盖在嵌入式 Google 地图上)。我已经将它连接起来以在用户输入时工作;这是我的代码的骨架,它有效:
$(function() {
// Wire up search textbox
$('input.Search').bind("keyup", update);
});
update = function(e) {
// Get text from search box
// Pass to web method and bind to concessions grid
$.ajax({
...
success: function(msg) {
displayResults(msg, filterParams);
},
});
}
displayResults = function(msg, filterParams) {
// Databind results grid using jTemplates
// Show results on map: Pass parameters to KML generator and overlay on map
}
根据搜索的不同,可能会有数百个结果;因此,displayResults 中发生的工作在服务器(查询数据库,即时构建和简化 KML)和客户端(数据绑定结果网格,在地图上覆盖大 KML 文件)都是处理器密集型的.
我喜欢在键入时立即获得逐渐缩小的结果,但我想尽量减少刷新的次数。在用户停止输入之后,在运行 update 函数之前引入 N 秒延迟的最简单方法是什么?
【问题讨论】:
标签: javascript jquery