如何添加触发将某种类型的元素添加到DOM的事件侦听器?

纳文

每当在当前窗口中创建新的iframe时,我都想调用特定的方法。这是youtube iframe播放器,无论何时在当前窗口中创建或启用它,我都需要收听新的iframe。有可能做这样的事情吗?请让我知道是否有任何方法。我尝试了以下代码,但是该代码无法检测到动态创建的新iframe。我在Google中尝试过,但没有任何信息

const iframes = document.getElementsByTagName('iframe');
  forEach(iframes, (iframe) => {
        addEventListeners(iframe);

      }
    }
  });
辣椒坚果

您可以使用MutationObserver它使您可以监听DOM的变异;就像您在dom本身上设置事件监听器一样,并在将iFrame添加到它时监听:

(new MutationObserver(mutations => {
    mutations[0].addedNodes.forEach(node => {
        if (node.tagName.toLowerCase() === 'iframe') {
            //do stuff
        }
    });
})).observe(document.body, {childList: true});

在这里,我们正在侦听document.body,而我们仅侦听对其子节点的更改(添加或删除了一个节点)。forEach通过如果一个每个添加的节点(如果有的话),并检查进入iFrame如果是这样,那么请在“要做的事情”行中做您需要做的事情。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将Click事件侦听器添加到具有相同类的元素

将多个事件侦听器添加到一个元素

使用jQuery将事件侦听器添加到动态添加的元素中

将事件侦听器添加到HTML元素集合

如何通过JavaScript将事件侦听器添加到body元素?

将事件侦听器添加到香草javascript中尚不存在的元素

将事件侦听器添加到从template标签克隆的元素中

将事件侦听器添加到Angular 4中的DOM元素

使用for循环并传递不同的参数将事件侦听器添加到多个元素

将事件侦听器添加到动态添加的列表元素

将点击事件侦听器添加到电子应用程序中的元素

将事件侦听器添加到动态创建的元素中

如何将事件侦听器添加到动态创建的HTML列表元素?

将拖动事件侦听器添加到iframe

如何将事件侦听器添加到仅按钮元素

如何将事件侦听器添加到数组中的每个元素?

将setTimeout添加到事件侦听器

将事件侦听器添加到绘制的对象

将事件侦听器添加到音频元素不起作用

iOS UIWebView:如何将侦听器添加到DOM事件?

将侦听器添加到类或元素

如何将侦听器事件添加到由DefaultListModel对象添加的JList元素?

尝试将事件侦听器添加到JTextField

Dojo-将事件侦听器添加到动态创建的元素

将“this”添加到事件侦听器?

如何将事件侦听器添加到“+”缩放元素?

如何将事件侦听器添加到单选按钮 - 地雷不触发

如何将事件侦听器添加到 Web 组件模板元素

如何使用 React 将事件侦听器“更改时”添加到输入元素?