2013-07-22 197 views
0

事件不會觸發,我不知道爲什麼。骨幹DOM元素沒有觸發的骨幹事件

這是我初始化我的視圖 -

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

點擊選項卡或選項卡上的不點火所需要的點擊event.Why?我可以確認元素正在被追加。

+2

你可以嘗試''click .tabs':'_renderTab'。 – fbynite

回答

2

嘗試以下操作:

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


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

需要做的 '點擊': '功能'

我認爲這是尋找一個.tabs ELEM這是.tabs的孩子。