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

根據您提供的內容,以下是一些可能採用問題格式的文章標題: * **為什麼加入動態元素時我的 JavaScript `addEventListener` 在頁面載入時會觸發? ** * **H

Barbara Streisand
發布: 2024-10-28 11:48:51
原創
407 人瀏覽過

Here are some potential article titles in a question format, based on your provided content:

* **Why Does My JavaScript `addEventListener` Fire on Page Load When Adding to a Dynamic Element?** 
* **How to Ensure Event Listeners Work Correctly with Dynami

頁面載入時觸發JavaScript「addEventListener」事件

將事件監聽器附加到動態建立的元素時,必須確保監聽器是正確綁定以在所需時間觸發事件。

在提供的腳本中,事件在頁面載入時觸發,因為事件偵聽器是在建立元素並將其插入 DOM 之前新增的。要修正此問題,應考慮以下方法:

  • 首先建立元素: 在頁面中編寫元素的HTML 或使用document.createElement() 動態產生它.
  • 在DOM 中找出元素:使用document.getElementById() 擷取元素。
  • 正確新增事件監聽器:附加使用 addEventListener() 的事件監聽器。不要直接傳遞警報函數,而是將其包裝在匿名函數中,以便在事件發生時執行它。

更正後的腳本應如下所示:

<code class="javascript">document.write("<div id=\"myDiv\">I am a div</div>");
el = document.getElementById("myDiv");
el.addEventListener("click", function() { alert("clicktrack"); }, false);</code>
登入後複製

透過以下方式透過這些步驟,一旦元素存在於DOM 中,事件偵聽器就會附加到該元素,並且當單擊該元素時將觸發該事件。

以上是根據您提供的內容,以下是一些可能採用問題格式的文章標題: * **為什麼加入動態元素時我的 JavaScript `addEventListener` 在頁面載入時會觸發? ** * **H的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板