我正在开发一个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
在Caché中是否有任何"内置"方法或方法对BASE64字符串进行编码/解码?