← Kembali ke kursus
Pelajaran kursus · JavaScript
Pelajaran 42

Event: addEventListener

Klik, mouseover, keyboard — interaktivitas dimulai di sini.

Pahami konsepnya

Event adalah jantung interaktivitas web: klik, ketik, scroll, hover — semuanya event. addEventListener("eventType", handler) mendaftarkan fungsi yang berjalan saat event terjadi: button.addEventListener("click", () => alert("diklik!")).

Event yang sering: click, dblclick, mouseover, mouseout, keydown (saat tombol ditekan), keyup (saat dilepas), input (saat nilai form berubah), change (saat selesai berubah), submit (form), scroll, focus, blur.

Handler menerima event object berisi detail: e.target (elemen yang memicu), e.key (tombol keyboard yang ditekan), e.clientX/clientY (posisi mouse), e.preventDefault() (mencegah perilaku bawaan seperti submit form).

Coba contoh kode

<!doctype html>
<html>
<body>
  <button id="btn">Klik aku</button>
  <input id="nama" placeholder="Ketik nama...">
  <p id="hasil"></p>

  <script>
    const btn = document.getElementById("btn");
    const input = document.getElementById("nama");
    const hasil = document.getElementById("hasil");

    btn.addEventListener("click", () => {
      hasil.textContent = `Halo, ${input.value || "Tamu"}!`;
    });

    input.addEventListener("input", (e) => {
      console.log("mengetik:", e.target.value);
    });

    document.addEventListener("keydown", (e) => {
      if (e.key === "Enter") btn.click();
    });
  </script>
</body>
</html>

Klik tombol membaca input.value dan menampilkan sapaan. Event "input" menyala pada SETIAP ketikan. keydown Enter memicu btn.click() — keyboard shortcut sederhana.

Latihan singkat

Uji: buat eventBus sederhana — on("klik", fn) lalu emit("klik") menjalankan fn.