0

事件没有触发,我不知道为什么。

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

  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()'

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

4

2 回答 2

2

尝试以下操作:

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


class Tabs extends Backbone.View
// ...
events:
  'click' : '_renderTab'
于 2013-07-22T19:50:45.720 回答
0

需要做“点击”:“功能”

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

于 2013-07-22T19:55:08.167 回答