2012-05-11 132 views
0

我刚开始使用backbone.js,并享受使用它的怪癖。 但是我试图用它来处理正在工作的网站的视图中的事件。 也是用命名空间来组织我的代码backbone.js查看事件处理

var App = App || {}; 
    App.Views = App.Views || {}; 
    App.Views.Sidebar = Backbone.View.extend({ 
       el: '#app-wrapper', 

       events : { 
        "click #rf":"test" 
    ;   }, 

       test: function(e) { 
        alert("testing"); 
       } 
      }) 
     } 
    }); 

继承人的HTML,它只是网站

<html> 
<head> 
    <title>Shopping List</title> 
    <script type="text/javascript" src="jquery-1.7.2.min.js"></script> 
    <script type="text/javascript" src="underscore.js"></script> 
    <script type="text/javascript" src="backbone.js"></script> 
    <script type="text/javascript" src="app.js"></script> 
    <script type="text/javascript"> 
    App.Views.Sidebar; 
    </script> 
</head> 

<body> 

<div id="app-wrapper"> 

    <div id="app-header"> 
     <ul> 
      <li id="rf">Test</li> 
     </ul> 
    </div> 

</div> 

</body> 
</html> 

的骨架但是这个片段似乎并没有工作,test()方法是单击#rf元素时未调用。 我做错了什么,对此我很陌生。

+0

需要更多的背景下,你如何使你的观点,那么你的HTML的样子。 –

回答

4

您还没有实例化您的视图。尝试是这样的:(而不是:App.Views.Sidebar;

var myView = new App.Views.Sidebar(); 

另外别忘了,一旦文件已加载实例化你的意见。像这样的东西(如果你使用JQuery):

$(function() { 

    // Initialize Backbone views. 
    var myView = new App.Views.Sidebar(); 

});