他の多くのユーザーと同じように、私は 'el'とイベントに問題があります。私の状況では、デフォルトのel(ちょうど '')設定tagNameを使用し、jQueryセレクタを使用してセレクタにelを設定し、DOMを準備するための準備を含む複数のソリューションをテストしました。これらのソリューションのそれぞれは、イベントをバインドする際に失敗しましたが、デフォルトのelとtagNameを除いて、すべてhtmlの生成に失敗しました。 関連するコード ビュー(別のビューから抽出された)ビューバックボーン動的に作成された 'el'バインドされていないイベント
view = new Aggregator.Views.Streams.StreamView({model: stream})
console.log view.el
$(@el).append view.render().el
を呼び出し
$ ->
class Aggregator.Views.Streams.StreamView extends Backbone.View
template:JST["backbone/templates/stream"]
el: $('.item')
events:
"click div" : "testing"
initialize: (model)->
console.log @el
_.bindAll this , 'render'
@model.bind 'change', @render
@model.view = @
@render()
@delegateEvents()
render: ->
$(@el).html "test"
console.log @el
@
testing: ->
alert "EVENT"
#@model.clear()
機能は、私は少し困惑している、私はエルを設定しているが、それは作成されませんいずれか、またはそれはdoesnのイベントをバインドしません。 DOMをロードして、コンストラクタにelを渡すのを待ってみましたが、成功しませんでした。私の最も可能性の高い明白な間違いの助けをいただければ幸いです。
動作します!私は、 "クリック"はビュー要素ではなくドキュメントに関連していると仮定していました。説明ありがとう。 –
その前提が間違っていると、イベントのハッシュは常にビューの要素内でスコープされ、何もせずにクリックするとEL自体にバインドされ、背後にあるものをクリックするとEL内を検索します。 – Sander