Di dunia JavaScript, event adalah hal penting yang menjadi dasar interaksi pengguna dengan elemen web. Tanpa event, pengguna tidak dapat berinteraksi dengan elemen web seperti mengklik tombol, menggerakkan mouse, atau mengetik di bidang teks.
Seringkali para pemula JavaScript merasa kesulitan memahami konsep event. Mereka bingung bagaimana cara kerja event, bagaimana cara menangkap event, dan bagaimana cara menangani event.
Nah, pada artikel ini, kami akan membahas secara lengkap tentang event JavaScript. Kami akan menjelaskan konsep event, cara kerja event, cara menangkap event, dan cara menangani event. Dengan demikian, Anda dapat memahami event JavaScript dengan mudah dan dapat menggunakannya dengan lancar dalam pengembangan web.
Artikel ini akan membahas tentang:
Pusat dari interaktivitas JavaScript adalah peristiwa (event). Peristiwa adalah kejadian yang dapat dideteksi dan ditanggapi oleh JavaScript. Peristiwa dapat berupa tindakan pengguna, seperti mengklik tombol atau mengarahkan kursor ke elemen, atau dapat berupa perubahan pada status halaman, seperti memuat halaman atau menutup jendela.
Untuk mendengarkan suatu peristiwa, JavaScript menyediakan metode addEventListener()
. Metode addEventListener()
mengambil dua argumen:
Contoh:
document.getElementById("myButton").addEventListener("click", function() {
alert("Tombol telah diklik!");
});
Dalam contoh di atas, kita mendengarkan peristiwa click
pada elemen dengan ID myButton
. Ketika tombol diklik, fungsi yang ditentukan akan dijalankan, menampilkan pesan peringatan.
Berikut ini adalah beberapa jenis peristiwa yang umum digunakan dalam JavaScript:
click
– Ditembakkan ketika elemen diklik.dblclick
– Ditembakkan ketika elemen diklik dua kali.mousedown
– Ditembakkan ketika tombol mouse ditekan.mouseup
– Ditembakkan ketika tombol mouse dilepaskan.mousemove
– Ditembakkan ketika mouse digerakkan.mouseover
– Ditembakkan ketika mouse digerakkan ke atas elemen.mouseout
– Ditembakkan ketika mouse digerakkan keluar dari elemen.keydown
– Ditembakkan ketika tombol keyboard ditekan.keyup
– Ditembakkan ketika tombol keyboard dilepaskan.keypress
– Ditembakkan ketika tombol keyboard ditekan dan dilepaskan.load
– Ditembakkan ketika halaman selesai dimuat.unload
– Ditembakkan ketika halaman ditutup.Jika Anda ingin menangani beberapa jenis peristiwa pada elemen yang sama, Anda dapat menggunakan metode addEventListener()
beberapa kali. Misalnya:
document.getElementById("myButton").addEventListener("click", function() {
alert("Tombol telah diklik!");
});
document.getElementById("myButton").addEventListener("dblclick", function() {
alert("Tombol telah diklik dua kali!");
});
Dalam contoh di atas, kita mendengarkan peristiwa click
dan dblclick
pada elemen dengan ID myButton
. Ketika tombol diklik sekali atau dua kali, fungsi yang ditentukan akan dijalankan, menampilkan pesan peringatan yang sesuai.
Ketika suatu peristiwa terjadi, JavaScript akan membuat objek event
yang berisi informasi tentang peristiwa tersebut. Anda dapat mengakses objek event
dari dalam fungsi yang menangani peristiwa tersebut. Misalnya, dalam contoh berikut, kita menggunakan objek event
untuk mendapatkan koordinat mouse ketika elemen diklik:
document.getElementById("myButton").addEventListener("click", function(event) {
alert("Tombol telah diklik di koordinat (" + event.clientX + ", " + event.clientY + ")");
});
Secara default, beberapa peristiwa akan memicu tindakan bawaan browser. Misalnya, ketika tautan diklik, browser akan membuka halaman yang ditautkan. Anda dapat mencegah tindakan bawaan ini dengan memanggil metode preventDefault()
pada objek event
. Misalnya, dalam contoh berikut, kita mencegah tautan membuka halaman yang ditautkan:
document.getElementById("myLink").addEventListener("click", function(event) {
event.preventDefault();
});
Peristiwa dapat disebarkan dari elemen induk ke elemen anak. Hal ini berarti bahwa jika Anda mendengarkan suatu peristiwa pada elemen induk, Anda juga akan menerima peristiwa tersebut pada elemen anak. Misalnya, dalam contoh berikut, kita mendengarkan peristiwa click
pada elemen div
induk:
document.getElementById("myDiv").addEventListener("click", function(event) {
alert("Elemen div telah diklik!");
});
Ketika elemen button
anak diklik, peristiwa click
akan disebarkan ke elemen div
induk, dan fungsi yang ditentukan akan dijalankan.
Anda dapat menghentikan penyebaran peristiwa dari elemen induk ke elemen anak dengan memanggil metode stopPropagation()
pada objek event
. Misalnya, dalam contoh berikut, kita menghentikan penyebaran peristiwa click
dari elemen button
anak ke elemen div
induk:
document.getElementById("myButton").addEventListener("click", function(event) {
event.stopPropagation();
});
Menangkap peristiwa (event capturing) adalah kebalikan dari penyebaran peristiwa. Dengan menangkap peristiwa, Anda dapat mendengarkan peristiwa pada elemen anak sebelum peristiwa tersebut disebarkan ke elemen induk. Misalnya, dalam contoh berikut, kita menangkap peristiwa click
pada elemen button
anak:
document.getElementById("myDiv").addEventListener("click", function(event) {
alert("Elemen div telah diklik!");
}, true);
Ketika elemen button
anak diklik, peristiwa click
akan ditangkap sebelum disebarkan ke elemen div
induk, dan fungsi yang ditentukan akan dijalankan.
Peristiwa adalah komponen penting dalam JavaScript untuk membuat halaman web yang interaktif. Dengan memahami cara kerja peristiwa, Anda dapat membuat halaman web yang lebih menarik dan mudah digunakan.
Peristiwa adalah kejadian yang dapat dideteksi dan ditanggapi oleh JavaScript. Peristiwa dapat berupa tindakan pengguna, seperti mengklik tombol atau mengarahkan kursor ke elemen, atau dapat berupa perubahan pada status halaman, seperti memuat halaman atau menutup jendela.
Untuk mendengarkan suatu peristiwa, JavaScript menyediakan metode addEventListener()
. Metode addEventListener()
mengambil dua argumen:
click
– Ditembakkan ketika elemen diklik.dblclick
– Ditembakkan ketika elemen diklik dua kali.mousedown
– Ditembakkan ketika tombol mouse ditekan.mouseup
– Ditembakkan ketika tombol mouse dilepaskan.mousemove
– Ditembakkan ketika mouse digerakkan.mouseover
– Ditembakkan ketika mouse digerakkan ke atas elemen.mouseout
– Ditembakkan ketika mouse digerakkan keluar dari elemen.keydown
– Ditembakkan ketika tombol keyboard ditekan.keyup
– Ditembakkan ketika tombol keyboard dilepaskan.keypress
– Ditembakkan ketika tombol keyboard ditekan dan dilepaskan.load
– Ditembakkan ketika halaman selesai dimuat.unload
– Ditembakkan ketika halaman ditutup.Jika Anda ingin menangani beberapa jenis peristiwa pada elemen yang sama, Anda dapat menggunakan metode addEventListener()
beberapa kali.
event
dalam JavaScript?Ketika suatu peristiwa terjadi, JavaScript akan membuat objek event
yang berisi informasi tentang peristiwa tersebut. Anda dapat mengakses objek event
dari dalam fungsi yang menangani peristiwa tersebut.