首頁  >  文章  >  web前端  >  如何防止頁面載入時神秘的 Onclick 執行?

如何防止頁面載入時神秘的 Onclick 執行?

Barbara Streisand
Barbara Streisand原創
2024-10-22 07:12:03761瀏覽

How to Prevent Mysterious Onclick Execution Upon Page Load?

Javascript onclick 函數在頁面載入時神祕地觸發

onclick 事件偵聽器應該只在點擊關聯元素時執行。然而,在某些場景下,可以觀察到該函數在頁面載入後立即被調用,導致點擊事件無效。

將 onclick 屬性指定為 setAttribute('onclick', secondaryFunction 時通常會出現此問題()) 而不是 setAttribute('onclick', secondaryFunction)。前者直接執行函數,後者將其註冊為事件處理程序。

正確用法:

<code class="javascript">// Create a new element with an onclick event listener
var sentNode = document.createElement('a');
sentNode.setAttribute('href', "#");
sentNode.setAttribute('onclick', secondFunction);</code>

錯誤用法:

<code class="javascript">// Immediately executes the function upon loading the page
sentNode.setAttribute('onclick', secondFunction());</code>

關鍵區別位於第二個函數附加的括號中。透過省略它們,程式碼將事件處理程序定義為對函數的引用,從而允許在單擊元素時執行它。相反,包含括號會立即觸發函數的執行。

透過遵循正確的用法,onclick 事件將按預期運行,等待呼叫關聯元素的點擊。

以上是如何防止頁面載入時神秘的 Onclick 執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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