在事件哈希中,我想使用resize事件,但是他们 不要工作。但是,点击事件效果很好。为什么调整大小不起作用?
var SubheaderView = Backbone.View.extend({
id: 'gallery',
tagName: 'div',
events: {
'click #minor': 'getPadding',
'resize #minor': 'getPadding' //not work
},
initialize: function() {
this.render();
},
render: function() {
this.$el.append(subheaderTemplate);
},
getPadding: function() {
var pad_top = Math.floor($('#minor').height() * 0.4);
var pad_left = Math.floor($('#minor').width() * 0.07);
var pad = pad_top + 'px 0px 0px ' + pad_left + 'px';
$('#cover h1').css({'padding': pad});
}
});
答案 0 :(得分:2)
它根本与Backbone
无关。根据{{3}},只有window
有resize
个事件。
答案 1 :(得分:0)
您可以这样做: 将此代码添加到您正在使用的backbone.js文件中
Backbone.View.prototype.eventAggregator = _.extend({}, Backbone.Events);
$(window).resize(function () {
Backbone.View.prototype.eventAggregator.trigger('window:resize');
});
然后将事件聚合器绑定到任何想要使用resize事件的视图
this.eventAggregator.bind('window:resize',this.resize)
其中this.resize
是要为resize事件调用的函数