backbone.js查看事件处理

时间:2012-05-11 14:11:38

标签: javascript namespaces 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>

但是,此代码段似乎不起作用,单击#rf元素时不会调用test()方法。 我做错了什么,对此我很陌生。

1 个答案:

答案 0 :(得分:4)

您尚未实例化您的观点。尝试这样的事情:

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

(而不是:App.Views.Sidebar;

一旦加载文档,也不要忘记实例化您的视图。像这样的东西(如果你使用JQuery):

$(function() {

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

});
相关问题