Подправить работу скрипта

<script type="text/javascript">
function click2() {
  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);
  }
}

window.onresize = doALoadOfStuff;

function doALoadOfStuff() {
    //do a load of stuff
    
}
</script>

Есть скрипт который обновляет размер страницы по клику, суть в том что в данный момент он работает постфактум - т.е. я кликнул ничего не произошло - я кликнул 2 раз и только потом происходит обновление - помогите поправить.


Ответы (1 шт):

Автор решения: Igor

function click2() {
  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);
  }
}

window.onresize = doALoadOfStuff;

function doALoadOfStuff() {
  //do a load of stuff
  console.log("doALoadOfStuff");
}
<a onclick="click2();" href="#" id="header-toggle-button"><i class="header-open fa fa-times"></i><i class="header-closed fa fa-bars"></i>Test</a>

→ Ссылка