我有一个函数,它基本上创建了一个覆盖整个页面的覆盖 div 元素。它还将调整大小事件绑定到窗口,因此每当调整窗口大小时,叠加层也会改变其大小:
function stdOverlay() {
var overlay = $('<div />').css({width : $(window).width(), height : $(window).height()});
var overlayResize =
function() {
$(overlay).css({width : $(window).width(), height : $(window).height()});
};
$('body').append(overlay);
$(window).resize(overlayResize);
//... other codes, like remove overlay and unbind the events
//$('div.stdgui-overlay').unbind('resize', overlayResize);
}
每次调用该函数时,它都会添加一个覆盖(如果没有),并将调整大小事件绑定到窗口。当它应该删除覆盖事件时,它还会取消绑定事件。如何检查 overlayResize 方法是否绑定到窗口元素,以防止重复绑定?就像是:
if(overlyResize is not bound to window)
$(window).resize(overlayResize);
else
//do something else or do nothing;