我最近在我们公司实施了 Christophe Coenraets 的员工目录应用程序,稍微简化了一点,因为我们不需要经理功能。
阻止我发布的一件事是自动搜索功能,我根本找不到停用它的方法,而是设置了一个标准搜索框并提交按钮行为。我们的 1500 多名员工数据库甚至对于 iPhone 5 来说都太多了,而且非常缓慢和迟缓。
我尝试在他的博客上发帖,但它给了我一个数据库错误。
这是他的应用程序的链接:http: //coenraets.org/blog/2012/03/employee-directory-sample-app-with-backbone-js-and-jquery-mobile/
任何熟悉此应用程序或主干.js 的人可能会对此有所了解吗?
非常感谢。
更新:我发现了一种更简单的实现搜索的方法,将其延迟 1.5 秒。我在这里添加了underscore.js框架的_.debounce函数:
search: _.debounce(function(event){
var key = $('.search-key').val();
this.model.findByName(key);
}, 1500)
});
再次感谢您的回复。
更新 2:我去尝试使用 enter 键使应用程序工作,而不是等待期。到目前为止,这是我的代码,但它只是停留在那里,并且不响应 Enter 键。控制台也什么也没说。有任何想法吗?
events: {
//"keyup .search-query": "search",
"keypress .search-query": "onkeypress"
},
search: function () {
var key = $('.search-key').val();
console.log('search ' + key);
this.searchResults.findByName(key);
setTimeout(function () {
$('.dropdown').addClass('open');
});
},
onkeypress: function (event) {
if (event.keyCode == 13) {
event.preventDefault();
this.search()
}
}
});