Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Mencetuskan Acara Secara Pengaturcaraan dalam JavaScript?

Bagaimanakah Saya Mencetuskan Acara Secara Pengaturcaraan dalam JavaScript?

DDD
Lepaskan: 2024-12-19 09:59:08
asal
538 orang telah melayarinya

How Do I Programmatically Trigger Events in JavaScript?

Mencetuskan Acara Secara Pengaturcaraan dalam JavaScript

Dalam JavaScript, acara biasanya dilampirkan pada elemen tertentu menggunakan kaedah addEventListener. Walau bagaimanapun, ada kalanya anda perlu mencetuskan acara secara pengaturcaraan daripada fungsi lain. Saya akan menerangkan kaedah ini.

Pada masa lalu, dua kaedah utama digunakan untuk mencetuskan peristiwa: fireEvent (IE 8 dan ke bawah) dan dispatchEvent (kebanyakan penyemak imbas lain). Walau bagaimanapun, kaedah initEvent tidak lagi disyorkan.

Pendekatan moden adalah untuk mencipta acara menggunakan createEvent atau createEventObject, bergantung pada sokongan penyemak imbas dan mencetuskannya menggunakan dispatchEvent.

Di bawah ialah contoh kod yang mencetuskan peristiwa tersedia data pada elemen tertentu.

var event; // カスタムイベント

if (document.createEvent) {
    // W3C の dispatchEvent を使用
    event = document.createEvent("HTMLEvents");
    event.initEvent("dataavailable", true, true);
    event.eventName = "dataavailable";
    element.dispatchEvent(event);
} else {
    // IE 8 以下用の fireEvent を使用
    event = document.createEventObject();
    event.eventName = "dataavailable";
    event.eventType = "dataavailable";
    element.fireEvent("on" + event.eventType, event);
}
Salin selepas log masuk

Kod ini mencipta acara tersuai untuk acara yang tersedia data dan mencetuskannya secara pengaturcaraan pada elemen elemen yang ditentukan.

Atas ialah kandungan terperinci Bagaimanakah Saya Mencetuskan Acara Secara Pengaturcaraan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan