Rumah  >  Artikel  >  hujung hadapan web  >  Cara Mengelakkan Pelaksanaan Pramatang Fungsi Onclick dalam JavaScript

Cara Mengelakkan Pelaksanaan Pramatang Fungsi Onclick dalam JavaScript

Linda Hamilton
Linda Hamiltonasal
2024-10-22 07:13:31891semak imbas

How to Avoid Premature Execution of Onclick Functions in JavaScript

Pelaksanaan Fungsi Onclick Sebelum Mengklik: Perangkap Biasa dalam Javascript

Dalam Javascript, fungsi onclick boleh digunakan untuk menetapkan tindakan kepada elemen HTML apabila diklik. Walau bagaimanapun, pembangun sering menghadapi isu di mana fungsi itu dilaksanakan serta-merta selepas penciptaan elemen, walaupun sebelum mengklik padanya.

Dalam kod Javascript yang disediakan, pembangun bertujuan untuk mencipta pautan yang mencetuskan fungsi apabila diklik dan bukannya mengubah hala ke halaman baharu. Walau bagaimanapun, fungsi onclick (Fungsi kedua) dipanggil serta-merta kerana kaedah tugasan yang salah.

Ralat terletak pada baris:

<code class="js">sentNode.setAttribute('onclick', secondFunction());</code>

Di sini, secondFunction() digunakan terus , yang bermaksud fungsi berjalan sebaik sahaja ia ditakrifkan. Untuk menyelesaikan isu ini, ia harus ditetapkan seperti berikut:

<code class="js">sentNode.setAttribute('onclick', secondFunction);</code>

Dengan merujuk fungsi tanpa kurungan, kod memberikan fungsi itu sendiri, bukan nilai pulangannya. Ini memastikan bahawa fungsi dilaksanakan hanya apabila peristiwa onclick berlaku.

Kod yang betul sepatutnya kelihatan seperti:

<br>function startFunction() {</p>
<pre class="brush:php;toolbar:false">var sentNode = document.createElement('a');
sentNode.setAttribute('href', "#");
sentNode.setAttribute('onclick', secondFunction); // Assign function reference
sentNode.innerHTML = "Sent Items";

// Add new element to parent
var parentNode = document.getElementById('parent');
var childNode = document.getElementById('sendNode');
parentNode.insertBefore(sentNode, childNode);

}

Dengan menerima pakai perubahan ini, fungsi onclick akan dipanggil dengan sewajarnya apabila elemen diklik.

Atas ialah kandungan terperinci Cara Mengelakkan Pelaksanaan Pramatang Fungsi Onclick dalam JavaScript. 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