好的,我有一个脚本在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;
}
});
答案 0 :(得分:1)
您可以在render
事件中执行脚本代码。你可以将脚本包含在html文件中......
例如:
var Bookmark = Backbone.View.extend({
template: _.template(…),
render: function() {
this.$el.html(this.template(this.model.attributes));
return this;
}
});