2
 <!DOCTYPE HTML>
    <html>
    <head>
    <title></title>

    </head>
    <body>

    <div id="menu"></div>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 
        <script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js" type="text/javascript"></script>
        <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js" type="text/javascript"></script>
        <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.0/backbone.localStorage-min.js" type="text/javascript"></script>  

    <script type="text/javascript">
    var myView = Backbone.View.extend({
        events: {
            'click #menu': 'insideMenuHandler'
        },
    //for event click
        initialize: function() {
            _.bindAll(this, 'insideMenuHandler', 'outsideMenuHandler');
        },

        render: function() {
            // Both <body> and <html> for paranoia.
            $('body, html').on('click', this.outsideMenuHandler);
            // ...
            return this;
        },

        remove: function() {
            // Clean up after ourselves.
            $('body, html').off('click', this.outsideMenuHandler);
            // ...
        },

        // ...
        outsideMenuHandler: function(e) {
            // ...
            return false;
        }
    });

    var v=new myView({el: '#view-goes-here'});
    v.render();

    </script>
    </body>
    </html>

backbone.js を初めて使用するので、以下のコードの何が問題なのか理解できません。コードを変更して機能させるにはどうすればよいですか? バインド機能に問題がありますか、それとも何か問題がありますか?

4

1 に答える 1

5

あなたは電話_.bindAllをかけている

 _.bindAll(this, 'insideMenuHandler', 'outsideMenuHandler');

insideMenuHandlerに名前を持つ関数はありませんview

于 2013-03-15T09:44:11.270 に答える