Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mencegah Pelaksanaan Onclick Misterius Semasa Pemuatan Halaman?

Bagaimana untuk Mencegah Pelaksanaan Onclick Misterius Semasa Pemuatan Halaman?

Barbara Streisand
Barbara Streisandasal
2024-10-22 07:12:03761semak imbas

How to Prevent Mysterious Onclick Execution Upon Page Load?

Fungsi onclick Javascript yang dicetuskan secara misteri apabila halaman dimuatkan

Pendengar acara onclick hanya perlu melaksanakan apabila elemen yang dikaitkan. Walau bagaimanapun, dalam senario tertentu, dapat diperhatikan bahawa fungsi dipanggil serta-merta apabila halaman dimuatkan, menyebabkan peristiwa klik tidak berkesan.

Isu ini biasanya timbul apabila menetapkan atribut onclick sebagai setAttribute('onclick', secondFunction ()) bukannya setAttribute('onclick', secondFunction). Yang pertama melaksanakan fungsi secara langsung, manakala yang kedua mendaftarkannya sebagai pengendali acara.

Penggunaan Betul:

<code class="javascript">// Create a new element with an onclick event listener
var sentNode = document.createElement('a');
sentNode.setAttribute('href', "#");
sentNode.setAttribute('onclick', secondFunction);</code>

Penggunaan Salah:

<code class="javascript">// Immediately executes the function upon loading the page
sentNode.setAttribute('onclick', secondFunction());</code>

Perbezaan utama terletak pada kurungan yang dilampirkan pada secondFunction. Dengan meninggalkannya, kod mentakrifkan pengendali acara sebagai rujukan kepada fungsi, membenarkan ia dilaksanakan apabila elemen diklik. Sebaliknya, termasuk kurungan mencetuskan pelaksanaan fungsi serta-merta.

Dengan mematuhi penggunaan yang betul ini, acara onclick akan berfungsi seperti yang dimaksudkan, menunggu klik elemen yang berkaitan untuk digunakan.

Atas ialah kandungan terperinci Bagaimana untuk Mencegah Pelaksanaan Onclick Misterius Semasa Pemuatan Halaman?. 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