Команда new Event

Команда new Event - конструктор догађаја, помоћу ког се може креирати објекат догађаја, а затим покренути тај догађај из JavaScript помоћу методе dispatchEvent. Зашто је то потребно: може се имитирати притискање корисника на дугме, покушај слања форме и тако даље. При томе се догађај неће разликовати од правог ни по чему сем својства event.isTrusted. Може се чак креирати догађаје са нестандардним (од вама измишљеним) називима и затим покретати их у жељени тренутак.

Синтакса

javascriptnew Event(тип догађаја, [заставице]);

Пример

Претпоставимо да имамо дугме. При притиску на ово дугме се приказује порука. Хајде да направимо тако да при прелазу мишем преко дугмета оно мисли да је кликнуто на њега:

html<button id="button">дугме</button>
javascriptlet button = document.querySelector('#button');

button.addEventListener('click', function() {
  alert('порука');
});

button.addEventListener('mouseover', function() {
  let clickEvent = new Event('click'); // креирамо догађај
  this.dispatchEvent(clickEvent); // имитирамо клик на дугме
});

Результат:

Пример

Може се креирати сопствене догађаје (са својим називом) и затим у жељеном тренутку покретати их. Хајде да вежемо за дугме догађај showMessage и при прелазу мишем иницијализујемо тај догађај:

html<button id="button">дугме</button>
javascriptlet button = document.querySelector('#button');

button.addEventListener('showMessage', function() {
  alert('порука');
});

button.addEventListener('mouseover', function() {
  let showMessageEvent = new Event('showMessage'); // креирамо догађај
  this.dispatchEvent(showMessageEvent); // покрећемо активирање догађаја
});

Результат:

Погледајте такође