バックボーン ビューの 1 つでサイズ変更イベントにハンドラーをアタッチしようとしています。いくつかの調査を行った後、ビューの要素またはその子孫にのみイベントを添付できることがわかりました。
私が達成しようとしている視覚効果は純粋な 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;
}
);