Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa Pengendali onclick Dicetuskan pada Pemuatan Halaman Daripada Apabila Mengklik Pautan?

Mengapa Pengendali onclick Dicetuskan pada Pemuatan Halaman Daripada Apabila Mengklik Pautan?

Patricia Arquette
Patricia Arquetteasal
2024-10-22 07:18:31263semak imbas

Why Is the onclick Handler Triggered on Page Load Instead of When Clicking the Link?

Javascript: Seruan Tidak Dijangka Pengendali onclick

Apabila cuba membuat pautan yang menyerupai tag anchor tetapi melaksanakan fungsi tersuai, onclick fungsi digunakan serta-merta apabila halaman dimuatkan, menjadikan klik berikutnya tidak berkesan.

Penjelasan:

Dalam coretan kod yang disediakan:

<code class="javascript">var sendNode = document.createElement('a');
sendNode.setAttribute('onclick', secondFunction());</code>

Barisan setAttribute('onclick', secondFunction()) adalah salah. Ia segera melaksanakan fungsi secondFunction dan memberikan nilai pulangannya (biasanya tidak ditentukan) kepada atribut onclick. Ini membawa kepada penyeruan serta-merta SecondFunction.

Penyelesaian:

Untuk menetapkan secondFunction dengan betul sebagai pengendali acara, sintaks yang betul ialah:

<code class="javascript">var sendNode = document.createElement('a');
sendNode.setAttribute('onclick', secondFunction);</code>

Ini mewujudkan pendengar acara yang menunggu acara klik pada elemen sebelum menggunakan SecondFunction.

Atas ialah kandungan terperinci Mengapa Pengendali onclick Dicetuskan pada Pemuatan Halaman Daripada Apabila Mengklik Pautan?. 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