首頁 > web前端 > js教程 > 主體

如何避免 JavaScript 中 Onclick 函數過早執行

Linda Hamilton
發布: 2024-10-22 07:13:31
原創
885 人瀏覽過

How to Avoid Premature Execution of Onclick Functions in JavaScript

點擊先前執行 Onclick 函數:Javascript 中的常見陷阱

在 Javascript 中,onclick 函數可用於在按一下時將操作指派給 HTML 元素。然而,開發人員經常面臨一個問題,即該函數在元素創建後立即執行,甚至在單擊它之前。

在提供的 Javascript 程式碼中,開發人員的目標是創建一個在單擊時觸發函數的鏈接,而不是重定向到新頁面。然而,由於賦值方法不正確,onclick函數(secondFunction)立即被呼叫。

錯誤在於:

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

這裡直接呼叫了secondFunction() ,這表示函數一旦定義就運作。要解決此問題,應如下指派:

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

透過引用不帶括號的函數,程式碼分配函數本身,而不是其傳回值。這確保了該函數僅在 onclick 事件發生時執行。

正確的程式碼應如下所示:

<br>function startFunction() {<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);
登入後複製

}

}}}}透過採用這些更改,點擊元素時將適當地呼叫onclick 函數。

以上是如何避免 JavaScript 中 Onclick 函數過早執行的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!