フォームを持つbackboneViewでオートコンプリートを実装するために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:
フェッチは、ユーザーが最初の文字を入力したときに1回だけ実行する必要があります。