Backbone DOM元素未触发的骨干事件

时间:2013-07-22 19:13:26

标签: javascript backbone.js coffeescript

事件没有解雇,我不确定原因。

这是我初始化视图的方式 -

  tabModel1 = new TabModel()
  tabModel2 = new TabModel()
  tabs = new TabModels()
  tabsView = new Tabs({
    collection: tabs
  })
  tabs.add tabModel1
  tabs.add tabModel2
  $('body').append tabsView.$el

这是我的观看代码

class Tab extends Backbone.View
  className: 'tab'

  initialize: () ->
    @model.on('change','render')
    @render()

  render: () =>
    @$el.append("ChildTab")

  select:()->
    console.log 'child tab selected'

  events:
    '.tab' : 'select'


class Tabs extends Backbone.View
  className: 'tabs'

  initialize:()->
    @collection.on 'add',@_addTab
    @render()

  render:()->

  _addTab:(model)=>
    tabView = new Tab({
      model: model
    })
    @$el.append tabView.el

  _renderTab:(e)=>
    console.log "WHAT?"

  events:
    'click .tabs' : '_renderTab()'

单击选项卡或选项卡不会触发所需的点击事件。为什么?我可以确认附加了元素。

2 个答案:

答案 0 :(得分:2)

尝试以下方法:

class Tab extends Backbone.View
// ...
events:
  'click' : 'select'


class Tabs extends Backbone.View
// ...
events:
  'click' : '_renderTab'

答案 1 :(得分:0)

需要做'click':'func'

我认为它正在寻找一个.tabs元素,它是.tabs的孩子。

相关问题