我已经在窗口大小调整上注册了一个触发器。我想知道如何触发要调用的事件。例如,当隐藏一个div时,我希望调用触发器函数。
我发现window.resizeTo()可以触发该函数,但是否有其他解决方案?
我已经在窗口大小调整上注册了一个触发器。我想知道如何触发要调用的事件。例如,当隐藏一个div时,我希望调用触发器函数。
我发现window.resizeTo()可以触发该函数,但是否有其他解决方案?
当前回答
用RxJS响应
比如Angular中的一些东西
size$: Observable<number> = fromEvent(window, 'resize').pipe(
debounceTime(250),
throttleTime(300),
mergeMap(() => of(document.body.clientHeight)),
distinctUntilChanged(),
startWith(document.body.clientHeight),
);
如果需要手动订阅(或者不是Angular)
this.size$.subscribe((g) => {
console.log('clientHeight', g);
})
由于我的初始startWith值可能是不正确的(派遣纠正)
window.dispatchEvent(new Event('resize'));
比如说Angular(我可以…)
<div class="iframe-container" [style.height.px]="size$ | async" >..
其他回答
window. resizeby()将触发window的onresize事件。这在Javascript或VBScript中都有效。
窗口。resizeBy(xDelta, yDelta)调用like window。resizeBy(-200, -200)将页面缩小200px * 200px。
window.dispatchEvent(new Event('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);
just
$(window).resize();
是我用的…除非我误解了你的要求
使用jQuery,你可以尝试调用触发器:
$(window).trigger('resize');