小编Zit*_*tRo的帖子

有一个元素的引用,如何附加到文档后检测?

我正在开发一个JavaScript模块,它对将要使用它的环境一无所知.

而且,从技术上讲,我想实现下一个功能:

onceAppended(element, callback);
Run Code Online (Sandbox Code Playgroud)

element是一个HTMLElement和该元素的父可以在模块初始化过程中是未知的.callback是一个功能,必须element在页面上显示后触发.

如果元素附加到文档,则必须立即调用回调.如果element尚未附加,则功能将在文档上出现callback一次element.

问题是,我们可以element使用DOMNodeInserted突变事件来检测追加事件.但是突变事件现在弃用.而且似乎MutationObserver无法处理这项任务,可以吗?

这是我的代码片段:

function onceAppended (element, callback) {
    let el = element,
        listener;
    while (el.parentNode)
        el = el.parentNode;
    if (el instanceof Document) {
        callback();
        return;
    }
    if (typeof MutationObserver === "undefined") { // use deprecated method
        element.addEventListener("DOMNodeInserted", listener = (ev) => {
            if (ev.path.length > 1 && ev.path[ev.length - 2] instanceof Document) …
Run Code Online (Sandbox Code Playgroud)

javascript dom javascript-events mutation-observers mutation-events

6
推荐指数
1
解决办法
212
查看次数

使用Caché对象脚本进行Base64编码和解码

在Caché中是否有任何"内置"方法或方法对BASE64字符串进行编码/解码?

intersystems intersystems-cache

4
推荐指数
1
解决办法
1400
查看次数