我一直在尝试将处理程序附加到我的一个主干视图中的调整大小事件。在做了一些研究之后,我发现您只能将事件附加到视图的元素或其后代。
这对我来说是一个问题,因为我试图实现的视觉效果使用纯 CSS 是不可能的,并且需要一些 JS 来设置基于窗口减去标题元素的内容区域元素的尺寸。
如果你无法想象我想要做什么,想象一个细小的标题和一个内容区域,它必须占据剩余空间,没有 CSS 背景技巧。
define(
[
'jQuery',
'Underscore',
'Backbone',
'Mustache',
'text!src/common/resource/html/base.html'
],
function ($, _, Backbone, Mustache, baseTemplate) {
var BaseView = Backbone.View.extend({
el: $('body'),
events: {
'resize window': 'resize'
},
render: function () {
var data = {};
var render = Mustache.render(baseTemplate, data);
this.$el.html(render);
this.resize();
},
resize: function () {
var windowHeight = $(window).height();
var headerHeight = this.$el.find('#header').height();
this.$el.find('#application').height( windowHeight - headerHeight );
}
});
return new BaseView;
}
);