Add Click Event On Dynamically Created Element Javascript

3 min read Jun 22, 2024
Add Click Event On Dynamically Created Element Javascript

Menambahkan Event Click pada Elemen yang Dibuat Secara Dinamis dengan JavaScript

Dalam pengembangan web, sering kali kita perlu menambahkan event listener pada elemen HTML yang dibuat secara dinamis menggunakan JavaScript. Artikel ini akan membahas cara menambahkan event click pada elemen yang dibuat secara dinamis.

1. Menambahkan Event Listener saat Membuat Elemen

Cara pertama adalah menambahkan event listener saat elemen dibuat. Metode ini lebih efisien karena event listener hanya ditambahkan sekali.

Berikut contohnya:

const myButton = document.createElement("button");
myButton.textContent = "Klik Saya!";

// Menambahkan event click pada button
myButton.addEventListener("click", function() {
  alert("Tombol di klik!");
});

// Menambahkan button ke dalam DOM
document.body.appendChild(myButton);

Dalam contoh di atas, kita membuat sebuah tombol (<button>) dan menambahkan event listener click padanya. Saat tombol di klik, sebuah alert akan ditampilkan.

2. Menambahkan Event Listener dengan Event Delegation

Cara kedua adalah dengan menggunakan event delegation. Metode ini lebih efektif jika terdapat banyak elemen dengan event click yang sama.

Berikut contohnya:

// Mengambil elemen induk
const container = document.getElementById("myContainer");

// Menambahkan event listener pada container
container.addEventListener("click", function(event) {
  // Mengecek apakah elemen yang diklik adalah button
  if (event.target.tagName === "BUTTON") {
    alert("Tombol di klik!");
  }
});

// Membuat 3 tombol secara dinamis
for (let i = 0; i < 3; i++) {
  const button = document.createElement("button");
  button.textContent = "Tombol " + (i + 1);
  container.appendChild(button);
}

Dalam contoh ini, kita menambahkan event listener pada elemen induk (myContainer). Saat elemen di dalam container di klik, kode akan memeriksa apakah elemen yang diklik adalah tombol. Jika ya, maka alert akan ditampilkan.

Keuntungan Event Delegation

  • Efisiensi: Event listener hanya ditambahkan sekali pada elemen induk, bukan pada setiap elemen anak.
  • Mudah Diatur: Mudah untuk menambahkan atau menghapus event listener pada elemen induk.

Kesimpulan

Menambahkan event click pada elemen yang dibuat secara dinamis bisa dilakukan dengan dua cara: menambahkan event listener saat membuat elemen dan menggunakan event delegation. Pilihlah metode yang sesuai dengan kebutuhan proyek Anda.

Latest Posts