Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa Adakah `addEventListener` Saya Mencetuskan pada Pemuatan Halaman Daripada Klik?

Mengapa Adakah `addEventListener` Saya Mencetuskan pada Pemuatan Halaman Daripada Klik?

Susan Sarandon
Susan Sarandonasal
2024-10-26 05:03:30493semak imbas

Why Does My `addEventListener` Trigger on Page Load Instead of Click?

addEventListener Acara Dicetuskan pada Pemuatan Halaman

Pendengar acara "addEventListener" ialah alat yang berkuasa untuk mengendalikan interaksi pengguna dalam halaman web. Walau bagaimanapun, isu yang biasa dihadapi ialah peristiwa berlaku apabila halaman dimuatkan dan bukannya apabila elemen yang disasarkan diklik.

Untuk menyelesaikan masalah ini, kuncinya terletak pada fungsi panggil balik yang dihantar kepada kaedah "addEventListener" . Dalam skrip yang disediakan, baris berikut bermasalah:

el.addEventListener("click", alert("clicktrack"), false);

Apabila baris ini dilaksanakan, amaran akan dipanggil serta-merta, kembali tidak ditentukan. Untuk menghantar kod amaran dengan betul kepada pendengar, ia perlu dibungkus dalam fungsi:

el.addEventListener("click", function() { alert("clicktrack"); }, false);

Dengan berbuat demikian, kod amaran menjadi badan fungsi tanpa nama yang akan dilaksanakan apabila acara itu dicetuskan. Ini memastikan bahawa acara itu berlaku hanya apabila elemen "myDiv" diklik, bukan semasa pemuatan halaman.

Atas ialah kandungan terperinci Mengapa Adakah `addEventListener` Saya Mencetuskan pada Pemuatan Halaman Daripada Klik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn