• AddEventListener memiliki 3 parameter, seperti yang ditunjukkan di bawah ini:
element.addeventlistener (ketik, pendengar, usecapture);
| parameter | Deskripsi parameter |
|---|---|
| elemen | Objek untuk mengikat acara dan node HTML. |
| jenis | Untuk nama acara, silakan hapus "on" sebelum acara. Misalnya, "OnClick" harus ditulis sebagai "klik", dan "Onmouseover" harus ditulis sebagai "Mouseover". |
| pendengar | Untuk mengikat fungsi mendengarkan acara, berhati -hatilah untuk menulis hanya nama fungsi dan tidak termasuk tanda kurung. |
| UserCapture | Metode pemantauan peristiwa hanya bisa benar dan salah: benar, mengadopsi mode penangkapan; Salah, mengadopsi mode gelembung. Jika tidak ada persyaratan khusus, umumnya salah. |
Di sini perlu untuk berbicara tentang perbedaan antara mode penangkapan dan mode gelembung.
Seperti yang ditunjukkan pada gambar, ada dua lapisan elemen div, dan keduanya menetapkan acara klik. Secara umum, jika saya mengklik elemen biru bagian dalam tidak hanya akan memicu acara klik elemen biru, tetapi juga memicu acara klik elemen merah pada saat yang sama. Parameter UseCapture adalah untuk mengontrol urutan acara dua klik saat ini. Jika salah, mode gelembung akan digunakan. Ini adalah proses dari dalam ke luar, sehingga acara klik elemen biru akan dieksekusi terlebih dahulu dan kemudian acara klik elemen merah. Jika itu benar, itu adalah mode penangkapan. Berbeda dengan mode gelembung, ia dari luar ke dalam. Acara klik elemen merah akan dieksekusi terlebih dahulu sebelum acara klik elemen biru akan dieksekusi.
Jika UseCapture yang digunakan oleh elemen -elemen dari lapisan yang berbeda berbeda, elemen target pertama -tama akan mencari acara yang diatur untuk menangkap mode dari elemen terluar. Setelah mencapai elemen target untuk mengeksekusi peristiwa elemen target, kemudian lihat peristiwa yang diatur ke mode gelembung.
• AttachEvent memiliki 2 parameter, seperti yang ditunjukkan di bawah ini:
element.attachevent (ketik, pendengar);
| parameter | Deskripsi parameter |
|---|---|
| elemen | Objek untuk mengikat acara dan node HTML. |
| jenis | Untuk nama acara, silakan tambahkan "di" sebelum acara, seperti "OnClick" dan "Onmouseover", yang merupakan perbedaan dari AddeventListener. |
| pendengar | Untuk mengikat fungsi mendengarkan acara, berhati -hatilah untuk menulis hanya nama fungsi dan tidak termasuk tanda kurung. |
AddEventListener () adalah metode standar untuk mengikat fungsi mendengarkan acara, yang didukung oleh W3C. Chrome, Firefox, Opera, Safari, IE9.0 dan di atas semua mendukung fungsi ini; Namun, IE8.0 dan di bawah ini tidak mendukung metode ini, ia menggunakan attachEvent () untuk mengikat fungsi mendengarkan acara. Oleh karena itu, metode acara yang mengikat ini harus menangani masalah kompatibilitas browser.
Kode yang kompatibel dengan IE dan non-Ie Browser Event Binding:
fungsi addevent (obj, ketik, menangani) {coba {// chrome, firefox, opera, safari, ie9.0 dan di atas versi obj.addeventListener (jenis, pegangan, false); } catch (e) {coba {// ie8.0 dan di bawah versi obj.attachevent ('on' + type, handle); } catch (e) {// browser awal obj ['on' + type] = handle; }}}atau
fungsi regevent (ele, event_name, fun) {if (window.attachevent) ele.attachevent (event_name, fun); // IE browser else {event_name = event_name.replace (/^on/, ""); // Jika Mulai, Hapus On, seperti OnClick-> klik ele.addeventListener (event_name, fun, false); // browser non IE}}Artikel di atas secara singkat berbicara tentang perbedaan antara AddEventListener dan AttachEvent adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.