Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mencegah Invokasi Segera Fungsi Javascript OnClickListener semasa Penciptaan Tag Anchor?

Bagaimana untuk Mencegah Invokasi Segera Fungsi Javascript OnClickListener semasa Penciptaan Tag Anchor?

DDD
DDDasal
2024-10-22 07:15:03894semak imbas

How to Prevent Immediate Invocation of Javascript OnClickListener Function during Anchor Tag Creation?

Fungsi Javascript OnClickListener Dicetuskan Serta-merta

Apabila cuba membuat teg sauh yang meniru rupa pautan tradisional tetapi mencetuskan fungsi dan bukannya mengubah hala ke halaman baharu, fungsi onclick digunakan semasa membuat pautan, tanpa mengira input pengguna. Ini menghalang sebarang klikan manual berikutnya pada pautan.

Isunya terletak pada pelaksanaan fungsi onclick yang tidak betul. Daripada memberikan fungsi sebenar itu sendiri (secondFunction()), sintaks yang betul adalah untuk merujuk fungsi (secondFunction). Ini memastikan bahawa fungsi hanya dipanggil apabila peristiwa onclick berlaku, bukan semasa pengisytiharannya.

Untuk membetulkannya, gantikan:

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

dengan:

<code class="javascript">sentNode.onclick = secondFunction();</code>

Ini akan memberikan rujukan kepada fungsi secondFunction, membolehkan ia dipanggil apabila diklik. Kod yang diperbetulkan sepatutnya dipaparkan seperti berikut:

<code class="javascript">function startFunction() {
    var sentNode = document.createElement('a');
        sentNode.setAttribute('href', "#");
        sentNode.onclick = secondFunction;  // Assign the 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);
}</code>

Dengan mengikut langkah-langkah ini, fungsi onclick akan ditetapkan dengan betul, membenarkan pautan berfungsi seperti yang dimaksudkan tanpa seruan serta-merta apabila ia dibuat.

Atas ialah kandungan terperinci Bagaimana untuk Mencegah Invokasi Segera Fungsi Javascript OnClickListener semasa Penciptaan Tag Anchor?. 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