Polecenie new Event

Polecenie new Event - konstruktor zdarzeń, za pomocą którego można utworzyć obiekt zdarzenia, a następnie wywołać to zdarzenie z JavaScript za pomocą metody dispatchEvent. Po co to jest potrzebne: można symulować kliknięcie przez użytkownika przycisku, próbę wysłania formularza i tak dalej. Przy tym zdarzenie nie będzie różnić się od prawdziwego niczym poza właściwością event.isTrusted. Można nawet tworzyć zdarzenia z niestandardowymi (wymyślonymi przez ciebie) nazwami, a następnie wywoływać je w odpowiednim momencie.

Składnia

javascriptnew Event(typ zdarzenia, [flagi]);

Przykład

Załóżmy, że mamy przycisk. Po kliknięciu na ten przycisk wyświetla się komunikat. Zróbmy tak, aby po najechaniu myszką na przycisk ten przycisk myślał, że został kliknięty:

html<button id="button">button</button>
javascriptlet button = document.querySelector('#button');

button.addEventListener('click', function() {
  alert('message');
});

button.addEventListener('mouseover', function() {
  let clickEvent = new Event('click'); // tworzymy zdarzenie
  this.dispatchEvent(clickEvent); // symulujemy kliknięcie przycisku
});

Результат:

Przykład

Można tworzyć własne zdarzenia (z własną nazwą) i potem w odpowiednim momencie je wywoływać. Przywiążmy do przycisku zdarzenie showMessage i po najechaniu myszką zainicjujmy to zdarzenie:

html<button id="button">button</button>
javascriptlet button = document.querySelector('#button');

button.addEventListener('showMessage', function() {
  alert('message');
});

button.addEventListener('mouseover', function() {
  let showMessageEvent = new Event('showMessage'); // tworzymy zdarzenie
  this.dispatchEvent(showMessageEvent); // wywołujemy wystąpienie zdarzenia
});

Результат:

Zobacz też