Lệnh new Event

Lệnh new Event là một hàm tạo sự kiện, cho phép tạo một đối tượng sự kiện, sau đó kích hoạt sự kiện này từ JavaScript bằng phương thức dispatchEvent. Tại sao cần điều này: có thể mô phỏng việc người dùng nhấn vào nút, cố gắng gửi biểu mẫu và như vậy. Khi đó sự kiện sẽ không khác gì sự kiện thực tế ngoại trừ thuộc tính event.isTrusted. Thậm chí có thể tạo các sự kiện với tên không chuẩn (do bạn tự nghĩ ra) và sau đó kích hoạt chúng vào thời điểm thích hợp.

Cú pháp

javascriptnew Event(loại sự kiện, [cờ]);

Ví dụ

Giả sử chúng ta có một nút bấm. Khi nhấn vào nút này một thông báo sẽ được hiển thị. Hãy làm sao để khi di chuột qua nút bấm, nút này sẽ nghĩ rằng nó đã được nhấn:

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'); // tạo sự kiện
  this.dispatchEvent(clickEvent); // mô phỏng nhấn vào nút
});

Результат:

Ví dụ

Có thể tạo các sự kiện của riêng mình (với tên riêng) và sau đó kích hoạt chúng vào thời điểm thích hợp. Hãy gắn sự kiện showMessage vào nút bấm và khi di chuột qua thì kích hoạt sự kiện này:

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'); // tạo sự kiện
  this.dispatchEvent(showMessageEvent); // kích hoạt sự kiện
});

Результат:

Xem thêm