问题标签 [mutation-events]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
913 浏览

javascript - Disqus 是否有要附加的公共事件?

在 disqus 表单获得更新后,我需要执行一些重新计算。一个新的评论,错误信息仅举几例。本质上,任何导致 Disqus iframe 垂直扩展的事件。检查了 API,但没有找到任何公共事件。似乎这些事件不是公开可访问的 atm。所以第一个问题是——Disqus 是否有任何公共活动可以附加?

第二个是——如果我无法附加到来自 Disqus 的事件,考虑到 Disqus 的东西在 iFrame 中,我想知道 MutationEvent 会为我解决问题吗?

0 投票
2 回答
5133 浏览

javascript - DOM Mutation Observers 比 DOM Mutation Events 慢吗?

以下代码利用 DOM Mutation EventDOMNodeInserted来检测body元素的存在并将其innerHTML包装到包装器中。

尽管包装成功,但仍有错误表明未找到节点。这个问题的答案解释说,这是因为当 jQuery 被加载时,它div在 body 中添加了一个元素来做一些测试,但它未能删除该div元素,因为该元素已被包装到包装器中,因此它不是子元素身体的元素了。

上面的实验告诉我们DOMNodeInsertedevent 比 jQuery 的测试更快,因为 jQuery 的测试元素 ( div) 在被 jQuery 删除之前就被包装了。




现在下面的代码可以实现相同的操作,并且它使用了新引入的 DOM Mutation Observers。截至目前 (2012-07-11),它仅适用于 Chrome 18 及更高版本。

此代码没有产生任何错误。这意味着 jQuery 比 DOM Mutation Observers 更快,因此它能够div在该元素被包装到包装器之前删除其测试元素 ( )。




从以上两个实验中,我们发现在执行速度方面:

  • DOM 突变事件 > jQuery 的测试
  • jQuery 的测试 > DOM 变异观察者

这个结果能否恰当地证明 DOM Mutation Observers 比 DOM Mutation Events 慢?

0 投票
2 回答
4429 浏览

jquery - IE中插入的DOMNode

为什么这段代码在 IE 中不起作用?请帮助修复它:

0 投票
1 回答
1368 浏览

jquery - jQuery DOMNodeInserted:查找特定元素

我想知道在添加特定元素时如何监听 DOM,然后对其采取行动。

在最初加载 DOM 之后,会在很久之后加载一个 div(.myElement) :

现在是元素:

被添加到父 div(容器)中,我想运行一个函数。我怎么做?

谢谢

0 投票
1 回答
424 浏览

ios - 如何检测 UIWebview 中的 DOM 突变?

有没有一种很好的方法来检测脚本对 DOM 所做的更改?变异观察者似乎不适用于 iOS 上的 Webkit。

0 投票
2 回答
1296 浏览

javascript - 使用 DOMNodeInserted 确定 .class 名称

如果我在下面运行:

它会运行正常,它会隐藏 .new div。但我需要执行以下操作:

非常感谢

0 投票
0 回答
169 浏览

javascript - 在 DOMCharacterDataModified 事件之前是否存在

在它之前是否有一个事件被触发?我想要阻止更改的选项。

0 投票
1 回答
4968 浏览

javascript - 为什么 MutationObserver 代码不能在 Chrome 30 上运行?

http://updates.html5rocks.com/2012/02/Detect-DOM-changes-with-Mutation-Observers我得到以下代码:

jsFiddle:http: //jsfiddle.net/cUNH9

如您所见,我们应该看到一个警报,因为一个div元素被插入到 DOM 中。但似乎 MutationObserver 代码没有运行。如何成功运行 MutationObserver 代码?

0 投票
1 回答
7807 浏览

javascript - 如何使用突变观察者而不是突变事件?

我正在尝试使用 D3.js 创建我的第一个流图。我从一个工作示例开始,其中包含来自在线发布的代码的工具提示,http ://bl.ocks.org/WillTurman/4631136 :

在此处输入图像描述

当我将index.htmldata.csv文件复制到我的 PC (Windows 7) 时,我可以在浏览器 (Firefox) 中看到流图。但是,我收到一个 JS 警告,“不推荐使用突变事件。请改用 MutationObserver。

哪些代码行对应于突变事件?我应该如何编辑它们以使用 MutationObserver 代替?

我是 D3 和 javascript 的新手。虽然我在网上找到了一些关于突变事件和 MutationObservers 的讨论,但我没有看到任何足以让我理解并适用于我的情况的基本示例。我会很感激任何提示。

0 投票
1 回答
12035 浏览

javascript - 使用 Mutation Observer 检测添加到 DOM 的元素

我在拖动事件后向 DOM 添加了一些元素。我需要检测此元素以及添加此元素的时刻。我使用 Mutation Observer 但出了点问题,代码:

任何人都可以帮忙,非常感谢。