私はbackbone.jsのRailscastチュートリアルに従っており、キーボードコントロールを含むように機能を拡張したかったのです。私のショーのテンプレートにbackbone.jsでキーアップを文書にバインドするには
class Raffler.Views.EntryShow extends Backbone.View
template: JST['entries/show']
events:
'click .back': 'showListing'
'keyup': 'goBack'
showListing: ->
Backbone.history.navigate("/", trigger: true)
goBack: (e) ->
console.log e.type, e.keyCode
render: ->
$(@el).html(@template(entry: @model))
this
私は、次のしている:私はタブ・キーを使用してバックリンクを選択した場合
<a href="#" class="back">Back</a>
<%= @entry.get('name') %></td>
が、その後、私が手にランダムキーを押す開始、私は私のショーのビューに以下を追加しました私のjavascriptコンソールに出力します。しかし、ページをロードしてリンクを選択せずにキーを押すだけで、私のコンソールには何も出力されません。
イベントをドキュメントにバインドすると、画面をロードするときに押されたキーを聞くことができます。
[backbone.js - 入力からの値でコレクションをフィルタリングする]の複製が可能です。(http://stackoverflow.com/questions/9244773/backbone-js-filtering-a-collection-with-thevalue- from-a-input) –
それは同じ機能ですが、重複して見えるのではないかと疑問に思うのですが、この人は、ビューの範囲を回避する方法、キーアップイベントをドキュメントにバインドする方法、単一入力。ビューのスコープの外側にある可能性が最も高いドキュメントです。彼の独自の例では、彼は彼が彼のビューのコンテナ要素にバインドしていることを意味する「キーアップ」にバインドします。これはページ全体ではない可能性が最も高いです。 – Sander