私の見解の1つでは、次のようになっています。
events: {
'click .tab': 'doSomething',
},
それから:
doSomething: function(){
...
},
これは私のビューでは繰り返し発生する構造ですが、何らかの理由で、このビューのクリックによって「doSomething」関数がトリガーされていません。
要素はいつイベントにバインドされますか?
これをデバッグするためのヒントはありますか?
私の見解の1つでは、次のようになっています。
events: {
'click .tab': 'doSomething',
},
それから:
doSomething: function(){
...
},
これは私のビューでは繰り返し発生する構造ですが、何らかの理由で、このビューのクリックによって「doSomething」関数がトリガーされていません。
要素はいつイベントにバインドされますか?
これをデバッグするためのヒントはありますか?
ここでフィドルへのリンク:http://jsfiddle.net/7xRak/
セレクターを省略すると、イベントはビューのルート要素 ( this.el
) にバインドされます。
class="tab"
ビューDOM要素が意味する場合this.el
は、イベントを次のようにバインドする必要があります
events : {
'click' : 'dosomething'
}
そして内側の要素のthis.el
ように
<div class="tab">
<span class="inner"></span>
</div>
次に、イベントを次のようにバインドする必要があります。
events : {
'click' : 'dosomething'
'click .inner' : 'onInnerClick'
}
委任delegateEvents
は、ビューコンストラクターの最後のメソッド中に発生します。
http://documentcloud.github.com/backbone/docs/backbone.html#section-144
戻る前に、手動でthis.delegateEvents()
内部を呼び出してみてください。バックボーンが予期していない方法で、またはメソッドの内部をいじっていますか?render
this
this.el
initialize
render