2013-07-04 36 views
0

查看:Backbone.js的單擊事件

Member.Views.Popover = Backbone.View.extend({ 
    template: "member/default", 
    tagName: 'a', 
    className: 'header-auth member', 
    events: { 
     'click a.member': 'toggle' 
    },   
    initialize: function() {  
     //todo 
    }, 
    toggle: function(){ 
     console.log("toggle"); 
    } 
    }); 

輸出:

<a class="header-auth member"> 
    //content from template 
</a> 

第一個問題:第一,我定義只是一個模板沒有標籤名和類名,因爲該數據是在已經設置模板。但是這個包裹了一個div的模板。爲了避免這種情況,我設置了tagName和className,並從模板中刪除了這些數據,因爲現在它是由主幹設置的。

第二個問題:現在我使用tagName click事件不再有效。

任何想法如何解決這個問題?

+1

你在哪裏調用渲染視圖? – Matt

+0

您可以將'click a.member'更改爲'click',因爲元素是您的視圖。 – kalley

+0

@kalley這個作品^^答覆 –

回答

2

可以 應該將click a.member更改爲click,因爲元素是您的視圖。

+2

_你可以,不,你應該。 – undefined

+0

[「事件的格式爲{{」event selector「:」callback「}'...]。省略'selector'會導致事件綁定到視圖的根元素('this.el')。」 ](http://backbonejs.org/#View-delegateEvents) –