
在可能的情况下,我更喜欢调用函数而不是调度事件。如果您可以控制要运行的代码,则此方法效果很好,但是如果您不拥有该代码,请参见下文。
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具有
triggermethod,其工作方式如下:
$(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);}欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)