ユーザーがテキスト フィールドに単語を入力してフォームを送信できるバックボーン ベースのビューがあります。ビューに関連付けられた 2 つのイベントがあります -submit
とkeyup
.
class NewConceptView extends Backbone.View
el: '#new-concept-cont'
template: JST['concepts/new']
events:
'submit form': 'handleSubmit'
'keyup #concept_title' : 'getPossibilities'
ユーザーが入力すると、サーバーにアクセスして、ユーザーが入力した内容に関するデータ ( と呼ばれる) を要求する必要possibilities
があります (オートコンプリート プラグインのように)。
getPossibilities: (e) ->
currentText = @titleInput.val()
if currentText.length > 0
params = { text: currentText }
$.getJSON(url, params, @buildConceptAttrs)
次に、ユーザーがフォームを送信したら、サーバーから最後の可能性を取得してコレクションに追加する必要があります。
handleSubmit: (e) ->
e.preventDefault()
@titleInput.val('')
@collection.create(@conceptAttrs)
私が抱えている問題は、テキストボックスにすばやく入力してから送信すると発生します。基本的に、サーバーへのすべての可能性のあるリクエストが返される前に、フォームが送信されます。
すべての可能性の要求が返される前に発生しないように、送信イベントをキューに入れる方法はありますか?