Program Pemantau Peristiwa JavaScript HTML DOM
- Hal Sebelumnya Event DOM
- Hal Berikutnya Navigasi DOM
Metode addEventListener()
Contoh
Tambahkan pemantau peristiwa yang dijalankan saat pengguna mengklik tombol:
document.getElementById("myBtn").addEventListener("click", displayDate);
addEventListener()
Metode ini menetapkan penanganan peristiwa untuk elemen yang ditentukan.
addEventListener()
Metode ini menambahkan penanganan peristiwa untuk elemen tanpa mengganti penanganan peristiwa yang sudah ada.
Anda dapat menambahkan beberapa penanganan peristiwa untuk sebuah elemen.
Anda dapat menambahkan beberapa pemanggilan prosedur yang sama jenisnya ke elemen, seperti dua peristiwa "click".
Anda dapat menambahkan pemanggilan prosedur ke setiap objek DOM, bukan hanya elemen HTML, seperti objek window.
addEventListener()
metode, ini membuat kontrol lebih mudah bagaimana peristiwa menanggapi bubbling.
Ketika menggunakan addEventListener()
metode, JavaScript dan HTML tag dipisahkan untuk kebacaan yang lebih baik; bahkan saat tidak mengawasi tag HTML, Anda masih dapat menambahkan pemantau peristiwa.
Dengan menggunakan removeEventListener()
Metode ini mudah untuk menghapus pemantau peristiwa.
Sintaks
element.addEventListener(event, function, useCapture);
Parameter pertama adalah tipe peristiwa (seperti "click" atau "mousedown").
Parameter kedua adalah fungsi yang perlu dipanggil saat peristiwa terjadi.
Parameter ketiga adalah nilai boolean yang menentukan penggunaan event bubbling atau event capturing. Parameter ini adalah opsional.
Perhatian:Jangan gunakan awalan "on" untuk peristiwa; gunakan "click" untuk menggantikan "onclick".
Menambahkan pemanggilan prosedur ke elemen
Contoh
Mencetak pesan "Hello World!" saat pengguna mengklik elemen:
element.addEventListener("click", function(){ alert("Hello World!"); });
Anda juga dapat mengambil referensi fungsi "named" eksternal:
Contoh
Mencetak pesan "Hello World!" saat pengguna mengklik elemen:
element.addEventListener("click", myFunction); function myFunction() { alert ("Hello World!"); }
Menambahkan beberapa pemanggilan prosedur ke elemen yang sama
addEventListener()
Metode ini memungkinkan Anda menambahkan beberapa peristiwa ke elemen yang sama tanpa mengganti peristiwa yang sudah ada:
Contoh
element.addEventListener("click", myFunction); element.addEventListener("click", mySecondFunction);
Anda dapat menambahkan berbagai jenis peristiwa ke elemen yang sama:
Contoh
element.addEventListener("mouseover", myFunction); element.addEventListener("click", mySecondFunction); element.addEventListener("mouseout", myThirdFunction);
Menambahkan pemanggilan prosedur ke objek Window
addEventListener()
Memungkinkan Anda menambahkan pemantau peristiwa ke objek DOM HTML apapun, seperti elemen HTML, objek HTML, objek window, atau objek yang mendukung peristiwa lainnya, seperti objek XMLHttpRequest.
Contoh
Menambahkan pemantau peristiwa ketika pengguna mengatur ukuran jendela:
window.addEventListener("resize", function(){ document.getElementById("demo").innerHTML = sometext; });
Pengiriman parameter
Ketika mengirimkan nilai parameter, gunakan fungsi "匿名函数" yang diatur dalam bentuk parameter:
Contoh
element.addEventListener("click", function(){ myFunction(p1, p2); });
Penyebaran acara puncak atau penangkapan acara?
Dalam HTML DOM ada dua metode penyebaran acara: penyebaran puncak dan penangkapan.
Penyebaran acara adalah metode yang mendefinisikan urutan elemen saat terjadi acara. Jika ada <div> di dalam <p>, dan pengguna mengklik elemen <p>, mana yang pertama kali diproses acara "click"?
Dalam penyebaran puncak, elemen dalam paling pertama yang diobrolkan, lalu yang yang lebih luar: pertama kali diproses acara klik elemen <p>, lalu elemen <div>.
Dalam penangkapan, elemen luar paling pertama yang diobrolkan, lalu yang yang lebih dalam: pertama kali diproses acara klik elemen <div>, lalu elemen <p>.
Dalam metode addEventListener(), Anda dapat menentukan jenis penyebaran dengan menggunakan parameter "useCapture":
addEventListener(event, function, useCapture);
nilai standar adalah false
jika nilai ini diatur, akan digunakan untuk penyebaran puncak, jika nilai ini diatur true
jika nilai ini diatur, acara akan digunakan untuk penyebaran penangkapan.
Contoh
document.getElementById("myP").addEventListener("click", myFunction(), true); document.getElementById("myDiv").addEventListener("click", myFunction(), true);
metode removeEventListener()
removeEventListener()
Metode akan menghapus program penanganan acara yang telah ditambahkan melalui addEventListener()
Program penanganan acara yang ditambahkan metode:
Contoh
element.removeEventListener("mousemove", myFunction());
Dukungan browser
Angka dalam tabel menentukan versi browser yang pertama yang mendukung penuh metode ini.
Metode | |||||
addEventListener() | 1.0 | 9.0 | 1.0 | 1.0 | 7.0 |
removeEventListener() | 1.0 | 9.0 | 1.0 | 1.0 | 7.0 |
Keterangan:IE 8, Opera 6.0 dan versi yang lebih awalnya tidak mendukung addEventListener()
dan removeEventListener()
Metode. Namun, untuk versi browser khusus ini, Anda dapat menggunakan attachEvent()
Metode menambahkan pemroses event kepada elemen, dan di detachEvent()
Metode penghapusan:
element.attachEvent(event, function); element.detachEvent(event, function);
Contoh
Solusi Browsa Berbagai macam:
var x = document.getElementById("myBtn"); if (x.addEventListener) { // Untuk browser utama, kecuali IE 8 dan sebelumnya x.addEventListener("click", myFunction); } else if (x.attachEvent) { // Untuk IE 8 dan sebelumnya x.attachEvent("onclick", myFunction); }
Panduan Referensi Objek Event HTML DOM
Untuk daftar lengkap semua event HTML DOM, silakan kunjungi situs penuh kami Panduan Referensi Objek Event HTML DOM.
- Hal Sebelumnya Event DOM
- Hal Berikutnya Navigasi DOM