首頁 > web前端 > js教程 > 如何防止在錨標記建立過程中立即呼叫 Javascript OnClickListener 函數?

如何防止在錨標記建立過程中立即呼叫 Javascript OnClickListener 函數?

DDD
發布: 2024-10-22 07:15:03
原創
994 人瀏覽過

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

Javascript OnClickListener 函數立即觸發

當嘗試建立一個模仿傳統連結外觀但觸發函數而不是函數的錨標記時重定向到新頁面時,無論使用者輸入如何,都會在建立連結時呼叫onclick 函數。這可以防止後續手動點擊該連結。

問題在於 onclick 函數的實作不正確。正確的語法是參考函數 (secondFunction),而不是指派實際函數本身 (secondFunction())。這可確保僅在 onclick 事件發生時呼叫該函數,而不是在其宣告時呼叫。

要修正此問題,請將:

<code class="javascript">sentNode.setAttribute('onclick', secondFunction());</code>
登入後複製

替換為:

<code class="javascript">sentNode.onclick = secondFunction();</code>
登入後複製

這將傳遞對secondaryFunction 函數的引用,使其能夠在單擊時被調用。修正後的程式碼應如下所示:

<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>
登入後複製

透過執行以下步驟,將正確分配 onclick 函數,從而允許連結按預期運行,而無需在建立後立即呼叫。

以上是如何防止在錨標記建立過程中立即呼叫 Javascript OnClickListener 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板