tutorial pengembangan web terbaru
 

JavaScript HTML DOM EventListener


The addEventListener() metode

Contoh

Tambahkan pendengar acara yang kebakaran ketika pengguna mengklik tombol:

document.getElementById("myBtn").addEventListener("click", displayDate);
Cobalah sendiri "

The addEventListener() metode menempel sebuah event handler untuk elemen tertentu.

The addEventListener() metode menempel sebuah event handler untuk elemen tanpa Timpa event handler yang ada.

Anda dapat menambahkan banyak event untuk satu elemen.

Anda dapat menambahkan banyak event handler dari jenis yang sama untuk satu elemen, yaitu dua "click" peristiwa.

Anda dapat menambahkan event pendengar untuk setiap objek DOM tidak hanya elemen HTML. yaitu objek jendela.

The addEventListener() metode membuat lebih mudah untuk mengontrol bagaimana acara bereaksi terhadap menggelegak.

Bila menggunakan addEventListener() metode, JavaScript dipisahkan dari markup HTML, untuk dibaca lebih baik dan memungkinkan Anda untuk menambahkan acara pendengar bahkan ketika Anda tidak mengontrol markup HTML.

Anda dapat dengan mudah menghapus pendengar acara dengan menggunakan removeEventListener() metode.


Sintaksis

element .addEventListener( event, function, useCapture );

Parameter pertama adalah jenis acara (seperti "click" atau "mousedown" ).

Parameter kedua adalah fungsi yang kita inginkan untuk panggilan ketika peristiwa itu terjadi.

Parameter ketiga adalah nilai boolean menentukan apakah akan menggunakan acara menggelegak atau menangkap acara. Parameter ini bersifat opsional.

Perhatikan bahwa Anda tidak menggunakan "on" awalan untuk acara; menggunakan "click" bukan "onclick" .


Tambahkan Event Handler ke Element

Contoh

Peringatan "Hello World!" ketika pengguna mengklik pada sebuah elemen:

element .addEventListener("click", function(){ alert("Hello World!"); });
Cobalah sendiri "

Anda juga dapat merujuk ke fungsi "bernama" eksternal:

Contoh

Peringatan "Hello World!" ketika pengguna mengklik pada sebuah elemen:

element .addEventListener("click", myFunction);

function myFunction() {
    alert ("Hello World!");
}
Cobalah sendiri "

Tambahkan Banyak penangan Event untuk Elemen Sama

The addEventListener() metode memungkinkan Anda untuk menambahkan banyak peristiwa untuk unsur yang sama, tanpa Timpa kejadian yang ada:

Contoh

element .addEventListener("click", myFunction);
element .addEventListener("click", mySecondFunction);
Cobalah sendiri "

Anda dapat menambahkan acara dari berbagai jenis dengan unsur yang sama:

Contoh

element .addEventListener("mouseover", myFunction);
element .addEventListener("click", mySecondFunction);
element .addEventListener("mouseout", myThirdFunction);
Cobalah sendiri "

Tambahkan Event Handler untuk Window Object

The addEventListener() metode memungkinkan Anda untuk menambahkan acara pendengar pada setiap HTML objek DOM seperti elemen HTML, dokumen HTML, objek jendela, atau benda lain yang mendukung acara, seperti xmlHttpRequest objek.

Contoh

Tambahkan pendengar acara yang kebakaran ketika pengguna mengubah ukuran jendela:

window.addEventListener("resize", function(){
    document.getElementById("demo").innerHTML = sometext ;
});
Cobalah sendiri "

passing Parameter

Ketika melewati nilai parameter, menggunakan "fungsi anonim" yang memanggil fungsi ditentukan dengan parameter:

Contoh

element .addEventListener("click", function(){ myFunction(p1, p2); });
Cobalah sendiri "

Acara Bubbling atau acara Menangkap?

Ada dua cara perbanyakan acara di DOM HTML, menggelegak dan menangkap.

propagasi acara adalah cara mendefinisikan urutan elemen ketika sebuah peristiwa terjadi. Jika Anda memiliki <p> elemen di dalam <div> elemen, dan pengguna mengklik pada <p> elemen, yang elemen "click" acara harus ditangani pertama?

Dalam menggelegak acara paling unsur batin ini ditangani pertama dan kemudian bagian luar: yang <p> maka elemen acara klik ditangani pertama, <div> event kali klik elemen.

Dalam menangkap acara paling unsur luar yang ditangani pertama dan kemudian dalam: yang <div> event kali klik elemen akan ditangani pertama, maka <p> elemen acara klik.

Dengan addEventListener() metode Anda dapat menentukan jenis propagasi dengan menggunakan "useCapture" parameter:

addEventListener( event , function , useCapture );

Nilai default adalah palsu, yang akan menggunakan propagasi menggelegak, ketika nilai diatur ke benar, acara menggunakan propagasi menangkap.

Contoh

document.getElementById("myP").addEventListener("click", myFunction, true);
document.getElementById("myDiv").addEventListener("click", myFunction, true);
Cobalah sendiri "

The removeEventListener() metode

The removeEventListener() metode menghapus event handler yang telah terpasang dengan addEventListener() metode:

Contoh

element .removeEventListener("mousemove", myFunction);
Cobalah sendiri "

Dukungan Browser

Angka-angka dalam tabel menentukan versi browser pertama yang sepenuhnya mendukung 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

Catatan: addEventListener() dan removeEventListener() metode tidak didukung di IE 8 dan versi sebelumnya dan Opera 6.0 dan versi sebelumnya. Namun, untuk versi ini browser tertentu, Anda dapat menggunakan attachEvent() metode untuk melampirkan sebuah event handler untuk elemen, dan detachEvent() metode untuk menghapusnya:

element. attachEvent (event, function);
element.
detachEvent (event, function);

Contoh

solusi lintas-browser:

var x = document.getElementById("myBtn");
if (x.addEventListener) {                    // For all major browsers, except IE 8 and earlier
    x.addEventListener("click", myFunction);
} else if (x.attachEvent) {                  // For IE 8 and earlier versions
    x.attachEvent("onclick", myFunction);
}
Cobalah sendiri "

HTML DOM Acara Referensi Obyek

Untuk daftar semua peristiwa HTML DOM, melihat lengkap kami HTML DOM acara Object Reference .