使用客户端 JavaScript 监视添加到文档中的新元素
Using client javascript to monitor new elements added to document
几个月前我正在使用Object.observe()
来监视来自window.document
的任何递归更改。现在 O.o() 从 em6+ 中撤出,我需要自定义此行为。我需要访问文档中任何位置创建的新元素。
我尝试过这些项目(有效,但没有子递归):
https://github.com/MaxArt2501/object-observe
https://github.com/jdarling/Object.observe
https://github.com/jdarling/Object.observe
我从Mozilla MDN中阅读了使用proxy
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy 但我不确定使用哪个陷阱,或者如何使这个递归。
这是我与 O.o() 一起使用的确切代码:
var observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
console.log("Observed Mutation:");
//mutation.target
//mutation.type
//mutation.oldValue
//mutation.attributeName
//mutation.attributeNamespace
//mutation.removedNodes
//mutation.addedNodes
});
});
//mutation observer configuration
var config = {
childList: true,
attributes: true,
characterData: true,
subtree: true,
attributeOldValue: true,
characterDataOldValue: true
attributeFilter: false
};
// pass in the target node and options to mutation observer
observer.observe(document, config);
使用或不使用 polyfill 访问新创建的对象所需的最少代码量是多少?
通过 irc.freenode.net ##javascript 找到了答案,来自: jaawerth
https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
相关文章:
- 为什么可以't我访问Angular创建的新DOM元素
- 如何在数据数组的每次迭代中创建一个内容为“i+1”的新 HTML 元素
- 通过 jQuery 添加新记录元素
- 在 jquery 可排序后定义
- 元素
- 元素的索引
- 元素
- 单击新 DOM 元素不起作用的事件
- 固定添加新消息(元素)后的位置视图内容
- jQuery 委托加载新创建元素的事件处理程序
- React不是更新元素,而是用相同的reactid创建新的元素
- "$(文件);在事件stopPropagation之后不触发$(a) 在“;而不触发新的元素
- 新html元素的旧javascript函数
- 无法获取新创建元素的高度
- DOM中的新SVG元素,通过JavaScript添加,直到鼠标up才呈现
- 从页面加载时的新输入元素获取值
- AngularJS函数不知道$compile后的新dom元素
- 为什么我可以't为我的新select元素创建ID吗
- 通过JavaScript/jQuery将页面保存为包含新添加元素的HTML文件
- 如何在添加新的元素集之前删除以前创建的元素
- 为什么Capybara不匹配AJAX调用后插入的新DOM元素
- 新创建元素上的Javascript onclick事件
- 在不添加新标签/元素的情况下向属性添加描述(用于屏幕阅读器)