2013-10-01 105 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