Skip to content

SVG 框架函数:stopObserving

本教程是 Iconify SVG 框架函数教程 的一部分。

函数 stopObserving() 用于告知 SVG 框架停止监视 HTML 元素中的图标占位符。

何时使用此函数:

  • 如果您想移除对 document.body 的监视。不过,建议改用 pauseObserver()
  • 如果您正在监视自定义元素(例如 Shadow DOM),并且希望停止监视它(例如,当您准备移除该元素时)。

用法

该函数包含以下参数:

  • rootHTMLElement。要停止监视的元素。

示例

js// 创建元素并开始监视它。
function createNode() {
   let clicked = false;

   // 创建元素,设置内容。
   const node = document.createElement('a');
   node.innerHTML =
       '<span class="iconify" data-icon="carbon:circle-dash"></span>';

   // 点击时更改图标。
   node.addEventListener('click', () => {
       clicked = !clicked;
       node
           .querySelector('.iconify')
           .setAttribute(
               'data-icon',
               clicked ? 'carbon:circle-filled' : 'carbon:circle-dash'
           );
   });

   // 监视更改。
   // 如果您将元素添加到 document.body,则不需要此操作,因为 document.body 已经被
   // 自动监视。如果元素是 Shadow DOM 或其他自定义元素树的一部分,请使用此方法。
   Iconify.observe(node);

   return node;
}

// 停止监视元素。
// 如果不再需要某个元素,请务必停止监视它!
// SVG 框架不知道您是否仍然需要该元素。
function removeNode(node) {
   Iconify.stopObserving(node);
}