页面加载后resize页面布局
在我们写web的时候,有的时候页面加载完以后,布局位置有一些问题,手动改变窗口大小后则正常显示位置。
其实,我们手动改变窗口大小,是执行了resize方法。
share一下兼容方法:
coffee code :
compatibleEventCreate : -> if document.createEvent # W3C ev = document.createEvent('Event') ev.initEvent 'resize', true, true window.dispatchEvent ev else # IE element = document.documentElement event = document.createEventObject() element.fireEvent 'onresize', event
js code :
compatibleEventCreate: function() { var element, ev, event; if (document.createEvent) { ev = document.createEvent('Event'); ev.initEvent('resize', true, true); return window.dispatchEvent(ev); } else { element = document.documentElement; event = document.createEventObject(); return element.fireEvent('onresize', event); } }
调用:
setTimeout(function() { return scope.pushNotification.compatibleEventCreate(); }, 0);
之所以使用setTimeout,时间为0,是将改方法加入消息队列,等其他事件执行完之后,最后执行该方法。