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

如何使用 MutationObserver 檢測 DOM 元素添加?

Patricia Arquette
發布: 2024-10-21 08:48:30
原創
744 人瀏覽過

How to Detect DOM Element Additions Using MutationObserver?

觀察 DOM 中的元素添加

您尋求一種機制,在 DOM 元素添加到網頁時觸發函數。鑑於您正在開發瀏覽器擴充功能並且無法存取網頁的原始程式碼,您想知道實現此目的的潛在方法。

當您考慮使用 setInterval() 輪詢 DOM 時,這種方法不是最理想的,並且計算量大效率低下。幸運的是,有更好的替代方案。

在早期版本的瀏覽器中,可以使用突變事件來偵測 DOM 變更。然而,這些事件已被棄用。因此,現在推薦的解決方案涉及利用 MutationObserver

MutationObserver 提供了一種有效且高效的方法來觀察 DOM 內的變更。它提供了一個簡單但功能強大的 API,用於監視特定的突變,包括元素的新增或刪除。與輪詢不同,MutationObserver 不需要連續的 DOM 掃描,減少了運算開銷。

要使用 MutationObserver,您可以實現類似於以下的功能:

<code class="javascript">function checkDOMChange() {
  // Define the type of mutation you're interested in (e.g., element addition)
  var observer = new MutationObserver(function (mutations) {
    mutations.forEach(function (mutation) {
      // Handle element addition here
    });
  });

  // Select the target element you wish to monitor
  var target = document.querySelector('body');

  // Start observing the target element for specific mutations
  observer.observe(target, { childList: true });

  // Optionally, you can terminate the observer when no longer needed
  // observer.disconnect();
}</code>
登入後複製

透過實作 MutationObserver,您可以有效監控元素添加並相應地觸發您想要的功能。這種方法消除了持續 DOM 輪詢的需要,從而提高了效能和使用者體驗。

以上是如何使用 MutationObserver 檢測 DOM 元素添加?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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