Event Handling

Materi Belajar / JavaScript / Event Handling

🖱️ Event Handling

Inilah inti dari interaktivitas web! Event handling adalah bagian penting yang membuat halaman web terasa responsif terhadap tindakan pengguna. Bayangkan halaman web seperti panggung teater—tanpa interaksi, semuanya statis. Tapi begitu pengguna mengklik tombol, menggeser mouse, atau mengetik sesuatu, itu seperti memberi isyarat pada aktor (JavaScript) untuk mulai bertindak. Dan dengan event handling, kita bisa mengatur skrip apa yang harus dijalankan saat "pertunjukan" dimulai.
Contohnya, saat pengguna menekan tombol "Kirim", kita bisa buat fungsi JavaScript yang memvalidasi formulir atau menampilkan pesan sukses. Ini dilakukan dengan metode seperti addEventListener(), yang memungkinkan kita mendengarkan aksi tertentu (misalnya click) lalu meresponsnya dengan kode tertentu. Dengan cara ini, kita bisa menciptakan pengalaman pengguna yang lebih interaktif dan menyenangkan—tanpa harus memuat ulang halaman!

👂 Struktur Umum Event Handling

// Misalkan kita punya HTML ini: 

// 1. Pilih elemen target
const tombol = document.getElementById("tombolSaya");

// 2. Tambahkan "pendengar event" (event listener) pada elemen tersebut
// Metode .addEventListener() adalah cara modern dan yang paling direkomendasikan.
tombol.addEventListener("click", function() {
  // 3. Fungsi ini (disebut callback function) akan dijalankan
  //    SETIAP KALI event 'click' terjadi pada elemen tombol.
  alert("Anda baru saja mengklik tombol!");
});

Penjelasan dari konsep di atas sebagai berikut:

💻 Contoh Kode:

index.html
<!DOCTYPE html>
<html>
  <head>
    <title>Simple Counter</title>
  </head>
  <body>
    <h1>Counter Sederhana</h1>
    <p>Nilai saat ini: <span id="nilai-counter">0</span></p>
    <button id="tombol-tambah">Tambah +</button>
    <button id="tombol-kurang">Kurang -</button>

    <script>
      // Memilih semua elemen yang dibutuhkan
      const elemenNilai = document.getElementById("nilai-counter");
      const tombolTambah = document.getElementById("tombol-tambah");
      const tombolKurang = document.getElementById("tombol-kurang");

      let nilai = 0; // Menyiapkan variabel untuk menyimpan nilai

      // Menambahkan event listener untuk tombol tambah
      tombolTambah.addEventListener("click", function () {
        nilai = nilai + 1; // Tambah nilai
        elemenNilai.innerText = nilai; // Update tampilan
        console.log("Nilai ditambah menjadi:", nilai);
      });

      // Menambahkan event listener untuk tombol kurang
      tombolKurang.addEventListener("click", function () {
        nilai = nilai - 1; // Kurangi nilai
        elemenNilai.innerText = nilai; // Update tampilan
        console.log("Nilai dikurang menjadi:", nilai);
      });
    </script>
  </body>
</html>

⚙️ Demo Interaktif:

💡 Tips: Anda bisa menggunakan fungsi yang sudah ada sebagai event handler, tidak harus selalu menulis fungsi baru di dalam `addEventListener`. Ini membuat kode lebih rapi!

Ikuti Tantangan