首頁  >  文章  >  web前端  >  為什麼使用括號時 JavaScript onclick 函數會過早觸發?

為什麼使用括號時 JavaScript onclick 函數會過早觸發?

Patricia Arquette
Patricia Arquette原創
2024-10-22 07:10:03656瀏覽

Why Does JavaScript onclick Function Trigger Prematurely When Parentheses Are Used?

JavaScript onclick 函數過早觸發

建立與 具有相似美感的連結標籤但旨在點擊時執行某時標籤個功能,使用者可能會遇到頁面載入時錯誤呼叫該功能的情況。這會阻止所需的單擊事件正常運作。

常見的陷阱是在分配 onclick 屬性時不正確地使用括號。正確的語法是sentNode.onclick = secondaryFunction,而不是立即執行函數的sentNode.onclick = secondaryFunction()。這分配了對函數的引用,該函數僅在單擊事件時執行。

<code class="javascript">function startFunction() {
  var sentNode = document.createElement('a');
  sentNode.setAttribute('href', "#");
  sentNode.setAttribute('onclick', secondFunction);
  //sentNode.onclick = secondFunction();
  sentNode.innerHTML = "Sent Items";
  //...
}</code>

透過省略括號,onclick 事件正確綁定到函數引用而不是其執行結果,確保預期的行為。

以上是為什麼使用括號時 JavaScript onclick 函數會過早觸發?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn