我已经在窗口大小调整上注册了一个触发器。我想知道如何触发要调用的事件。例如,当隐藏一个div时,我希望调用触发器函数。

我发现window.resizeTo()可以触发该函数,但是否有其他解决方案?


当前回答

使用jQuery,你可以尝试调用触发器:

$(window).trigger('resize');

其他回答

我相信这应该适用于所有浏览器:

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. resizeby()将触发window的onresize事件。这在Javascript或VBScript中都有效。

窗口。resizeBy(xDelta, yDelta)调用like window。resizeBy(-200, -200)将页面缩小200px * 200px。

一个纯JS,也可以在IE上工作(来自@Manfred comment)

var evt = window.document.createEvent('UIEvents'); 
evt.initUIEvent('resize', true, false, window, 0); 
window.dispatchEvent(evt);

或者对于angular:

$timeout(function() {
    var evt = $window.document.createEvent('UIEvents'); 
    evt.initUIEvent('resize', true, false, $window, 0); 
    $window.dispatchEvent(evt);
});

使用jQuery,你可以尝试调用触发器:

$(window).trigger('resize');
window.dispatchEvent(new Event('resize'));