0

ここで始めたばかりで、この非常に基本的なことを機能させることができないようです。すべての要素が期待どおりにレンダリングされます。私のイベントはFirefoxの[イベント]タブに登録されていますが、いずれも起動していないようです(クリック、マウスオーバーなど)。私は以下を使用しています。

  • バックボーン0.9.2
  • アンダースコア1.4.1
  • マリオネット.10.2
  • require-jquery(requireJs 2.1.0)(jquery 1.8.2)

ルーター

define([
'jquery',
'backbone',
'underscore',
'views/TodaysProgramsView',
'collections/ProgramSnippetCollection'],
function($, Backbone, _, TodaysProgramsView, ProgramSnippetCollection){
    return Backbone.Router.extend({
        initialize:function () {

            var programSnippetCollection = new ProgramSnippetCollection([
                {title:'underwater basket weaving'},
                {title:'How to win friends and influence people and stuff'}
            ]);

            this.mainView = new TodaysProgramsView({
                el : $("#todays_programs"),
                collection:programSnippetCollection
            });

            Backbone.history.start();
        },
        routes:{
            '':'home'
        },
        'home':function () {
            this.mainView.render();
        }
    });
});

コレクションビュー[TodaysProgramsView.js]

define([
'jquery',
'backbone',
'underscore',
'views/ProgramSnippetView'],
function($, Backbone, _, ProgramSnippetView){
    return  Backbone.Marionette.CollectionView.extend({

        events: {
            "click"   : "clicked"

        },
        clicked : function(){
            alert("parent clicked")
        },

       itemView : ProgramSnippetView
    });
});

アイテムビュー[ProgramSnippetView.js]

define([
'jquery',
'backbone',
'underscore',
'text!templates/programSnippet.html'],
function($, Backbone, _, template){
    return Backbone.Marionette.ItemView.extend({


        events: {
            "click"   : "courseClicked",
            'mouseover' : 'mousedOver'
        },

        render: function(){

            var json = this.model.toJSON();
            console.log("RENDERING SNIPPET with data", json);
            $(this.el).html( _.template(template, json) );
            return this;
        },

        courseClicked : function(){
            alert("you clicked a course, good work");
        },

        mousedOver : function(){
            console.log("Mousin!");
        }
    });


});
4

1 に答える 1

0

多くのフラストレーションと何時間ものjavascriptの調整の後、z-indexが2に設定されたdivがあることに気付きました。これは私のターゲットをオーバーレイし、すべてのイベントをゴブリングしていました。はぁ。

于 2012-10-08T16:56:43.113 に答える