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中文網其他相關文章!