」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼使用括號時 JavaScript onclick 函數會過早觸發?

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

發佈於2024-11-10
瀏覽:439

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

JavaScript onclick 函數提前觸發

創建與 標記具有相似美感的鏈接但打算在單擊時執行函數時,使用者可能會遇到頁面載入時錯誤呼叫函數的場景。這會妨礙所需的單擊事件正常運作。

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

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

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

版本聲明 本文轉載於:1729552154如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3