我已经在窗口大小调整上注册了一个触发器。我想知道如何触发要调用的事件。例如,当隐藏一个div时,我希望调用触发器函数。
我发现window.resizeTo()可以触发该函数,但是否有其他解决方案?
我已经在窗口大小调整上注册了一个触发器。我想知道如何触发要调用的事件。例如,当隐藏一个div时,我希望调用触发器函数。
我发现window.resizeTo()可以触发该函数,但是否有其他解决方案?
当前回答
window. resizeby()将触发window的onresize事件。这在Javascript或VBScript中都有效。
窗口。resizeBy(xDelta, yDelta)调用like window。resizeBy(-200, -200)将页面缩小200px * 200px。
其他回答
实际上,我不能让它与上面的任何一个解决方案一起工作。一旦我用jQuery绑定事件,它就可以正常工作,如下所示:
$(window).bind('resize', function () {
resizeElements();
}).trigger('resize');
window. resizeby()将触发window的onresize事件。这在Javascript或VBScript中都有效。
窗口。resizeBy(xDelta, yDelta)调用like window。resizeBy(-200, -200)将页面缩小200px * 200px。
结合pomber和avetisk的答案,覆盖所有浏览器,不引起警告:
if (typeof(Event) === 'function') {
// modern browsers
window.dispatchEvent(new Event('resize'));
} else {
// for IE and other old browsers
// causes deprecation warning on modern browsers
var evt = window.document.createEvent('UIEvents');
evt.initUIEvent('resize', true, false, window, 0);
window.dispatchEvent(evt);
}
我相信这应该适用于所有浏览器:
var event;
if (typeof (Event) === 'function') {
event = new Event('resize');
} else { /*IE*/
event = document.createEvent('Event');
event.initEvent('resize', true, true);
}
window.dispatchEvent(event);
window.dispatchEvent(new Event('resize'));