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
new 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:
<button id="button">button</button>
let 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:
<button id="button">button</button>
let 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
-
thuộc tính
addEventListener,
dùng để gắn sự kiện -
thuộc tính
removeEventListener,
dùng để gỡ sự kiện