0

次のように、ビューを介してイベントをキャプチャできることをアドバイスするチュートリアルを実行しています。

var View = Backbone.View.extend({
   el: $('#element'),
   events: {},
   render: function(){}
});

このイベント オブジェクトに関連するドキュメントはないようです。廃止されましたか、それとも廃止されましたか? それとも、間違った場所を見ているだけですか: http://backbonejs.org/

4

1 に答える 1

3

View.delegateEventsから

delegateEvents delegateEvents([events])
jQuery のon関数を使用して、ビュー内の DOM イベントの宣言型コールバックを提供します。イベント ハッシュが直接渡されない場合はthis.events、ソースとして使用します。イベントは の形式で記述されます{"event selector": "callback"}。コールバックは、ビューのメソッドの名前か、直接の関数本体のいずれかです。セレクターを省略すると、イベントはビューのルート要素 ( this.el) にバインドされます。デフォルトでdelegateEventsは、ビューのコンストラクター内で呼び出されるため、単純なイベント ハッシュがある場合は、すべての DOM イベントが常に接続されているため、この関数を自分で呼び出す必要はありません。

events プロパティは、イベント ハッシュを返す関数として定義することもできます。これにより、イベントをプログラムで定義したり、親ビューからイベントを継承したりしやすくなります。

を使用delegateEventsすると、レンダリング中に jQuery を手動で使用してイベントを子要素にバインドするよりも多くの利点があります。アタッチされたすべてのコールバックは、jQuery に渡される前にビューにバインドされるため、コールバックが呼び出されると、これは引き続きビュー オブジェクトを参照します。がdelegateEvents再度実行されると、おそらく別のイベント ハッシュを使用して、すべてのコールバックが削除され、新たに委任されます。これは、異なるモードでは異なる動作をする必要があるビューに役立ちます。

于 2013-05-02T12:56:25.920 に答える