2

OK、ドキュメント準備完了イベントで jQuery で起動されるスクリプトがあります。バックボーンで同じことを行うにはどうすればよいですか? そして、スクリプトをどこに配置する必要がありますか: ルーター、ビュー、またはモデル?

これが私のヘッダービューです

window.HeaderView = Backbone.View.extend({
 initialize: function (options) {
    this.render();
 },
 events : {
    "click .filter_button" : "filter_navigation",
    "click .search_button" : "live_filter_button",
    "keyup #live_filter" : "search"
},
 filter_navigation : function(e)
{       
       e.preventDefault();

    $('.filter').toggleClass('active');
    $('.search').removeClass('active');
},
live_filter_button : function(e)
{       
    e.preventDefault();

    $('.search').toggleClass('active');
    $('.filter').removeClass('active');
},
search : function(e)
{       
    var searchText = $("#live_filter").val().toLowerCase();
        $allListElements = $('.project_element');
        $matchingListElements = $allListElements.filter(function(i, el){
        return $(el).text().toLowerCase().indexOf(searchText) !== -1;
     });
    $allListElements.hide();
    $matchingListElements.show();
},
render: function () {
    $(this.el).html(this.template());
    return this;
}
});
4

1 に答える 1

1

renderイベントでスクリプトコードを実行できます。そして、スクリプトをhtmlファイル自体に含めることができます...例:

var Bookmark = Backbone.View.extend({
    template: _.template(…),
    render: function() {
        this.$el.html(this.template(this.model.attributes));
        return this;
    }
});
于 2013-06-21T08:26:57.480 に答える