EventTarget: phương thức dispatchEvent()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers.
Phương thức dispatchEvent() của EventTarget gửi một Event tới đối tượng, đồng thời (đồng bộ) gọi các
bộ lắng nghe sự kiện bị ảnh hưởng theo đúng thứ tự. Các quy tắc xử lý sự kiện thông thường
(bao gồm pha capture và tùy chọn bubbling) cũng được áp dụng cho các sự kiện
được phát thủ công bằng dispatchEvent().
Gọi dispatchEvent() là bước cuối cùng để phát một sự kiện. Sự kiện
lẽ ra phải được tạo và khởi tạo trước đó bằng hàm tạo Event().
Note:
Khi gọi phương thức này, thuộc tính Event.target sẽ được khởi tạo bằng EventTarget hiện tại.
Không giống như các sự kiện "gốc", vốn được trình duyệt phát ra và gọi bộ xử lý sự kiện
bất đồng bộ thông qua vòng lặp sự kiện,
dispatchEvent() gọi các bộ xử lý sự kiện đồng bộ. Tất cả các bộ xử lý sự kiện áp dụng sẽ được gọi và trả về trước khi dispatchEvent() trả về.
Cú pháp
dispatchEvent(event)
Tham số
event-
Đối tượng
Eventcần phát. Thuộc tínhEvent.targetcủa nó sẽ được đặt thànhEventTargethiện tại.
Giá trị trả về
false nếu event có thể bị hủy, và ít nhất một trong các bộ xử lý sự kiện nhận event đã gọi Event.preventDefault(). Ngược lại trả về true.
Ngoại lệ
InvalidStateErrorDomException-
Được ném ra nếu kiểu của sự kiện chưa được chỉ định trong lúc khởi tạo sự kiện.
Warning: Các ngoại lệ do bộ xử lý sự kiện ném ra sẽ được báo cáo là ngoại lệ chưa được bắt. Các bộ xử lý chạy trên một call stack lồng nhau; chúng chặn lời gọi gốc cho tới khi hoàn tất, nhưng các ngoại lệ không lan truyền trở lại lời gọi gốc.
Ví dụ
Xem Tạo và phát sự kiện.
Thông số kỹ thuật
| Specification |
|---|
| DOM> # ref-for-dom-eventtarget-dispatchevent③> |
Tương thích trình duyệt
Xem thêm
- Tham khảo đối tượng Event