如何在JavaScript中触发窗口调整大小事件?
我已经在窗口调整大小上注册了一个触发器。我想知道如何触发事件被调用。例如,当隐藏一个div时,我希望调用触发函数。
我发现window.resizeTo()
可以触发该功能,但是还有其他解决方案吗?
回答:
在可能的情况下,我更喜欢调用函数而不是调度事件。如果您可以控制要运行的代码,则此方法效果很好,但是如果您不拥有该代码,请参见下文。
window.onresize = doALoadOfStuff;function doALoadOfStuff() {
//do a load of stuff
}
在此示例中,您可以在doALoadOfStuff
不调度事件的情况下调用该函数。
在现代浏览器中,您可以使用以下方法触发事件:
window.dispatchEvent(new Event('resize'));
在Internet Explorer中,这是行不通的,您必须进行长期操作:
var resizeEvent = window.document.createEvent('UIEvents'); resizeEvent.initUIEvent('resize', true, false, window, 0);
window.dispatchEvent(resizeEvent);
jQuery具有trigger
method,其工作方式如下:
$(window).trigger('resize');
并警告:
尽管.trigger()模拟了一个事件激活,并完成了一个综合事件对象,但它不能完美地复制自然发生的事件。
您还可以模拟特定元素上的事件…
function simulateClick(id) { var event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true
});
var elem = document.getElementById(id);
return elem.dispatchEvent(event);
}
以上是 如何在JavaScript中触发窗口调整大小事件? 的全部内容, 来源链接: utcz.com/qa/414699.html