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

Cara Mengelakkan Pelaksanaan Pramatang Fungsi Onclick dalam JavaScript

Linda Hamilton
Lepaskan: 2024-10-22 07:13:31
asal
1001 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
<div class="code" style="position:relative; padding:0px; margin:0px;"><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);
Salin selepas log masuk

}

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan