假设我想使用 jQueryUi 在具有表单的主干视图中实现自动完成。
我实现了以下代码 (*),但我不喜欢它,因为当用户不键入任何字母时也会执行集合的获取。
只有当用户开始在输入框中输入内容时,我应该如何执行提取集合?
var MyView = Backbone.View.extend({
initialize: function () {
this.myCollection = new MyCollection();
this.myCollection.fetch(); // I would like to fetch the collection
// only when the user start to type the first letter
},
events: {
'focus #names': 'getAutocomplete'
},
getAutocomplete: function () {
$("#names").autocomplete({
source: JSON.stringify(this.myCollection)
});
}
});
PS:
当用户输入第一个字母时,应该只执行一次提取。