2013-10-01 43 views
1

我試圖在點擊按鈕時調用視圖功能,我發現this question並遵循但仍未達到視圖功能。單擊一個按鈕不能調用視圖功能骨幹

HTML:

<form class="addToCart-form"> 
    <input type="button" id="addToCart" class="addToCart" value="Add To Cart" /> 
</form> 

查看:

var CartView = Backbone.View.extend({ 
    events : { 
     "click : #addToCart" : "addToCart" 
    }, 
    addToCart : function(){ 
     console.log('saved'); 
     return false; 
    }, 
    render: function(){ 
     $("#list").html("string"); 
     $("#rightpanel").html("another string"); 
    } 
}); 

我在routerrender()試圖console.log正在努力,除了在addToCart功能。

任何幫助,將不勝感激。

+1

單擊後刪除':'。 – undefined

+0

我認爲它應該''點擊#addToCart「:」addToCart「' –

+0

我刪除了':'但它仍然不工作。 – Nothing

回答

0

您需要EL價值首先分配給這一觀點,例如

var CartView = Backbone.View.extend({ 
    el: '.addToCart-form', 
    events : { 
     "click : #addToCart" : "addToCart" 
    }, 
    addToCart : function(){ 
     console.log('saved'); 
     return false; 
    }, 
    render: function(){ 
     $("#list").html("string"); 
     $("#rightpanel").html("another string"); 
    } 
}); 

之後,你可以添加事件處理程序,像你這樣的元素ID的基礎上(更好的方法是用戶元素類附着事件)。 然後您將能夠訪問您的表單元素,如

this.$el.find('#addToCart') 
+0

謝謝!這很有幫助。 – Nothing