问题标签 [mutation-observers]
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.
javascript - 使用 Mutation Observers 将 DOM 元素列入黑名单
我想在 Chrome 中使用 Mutation Observers 来监控整个文档中的 DOM 变化。但是,我想用某些id
's 将特定元素列入黑名单。有没有办法做到这一点?
javascript - 如何获取从 DOMNodeRemoved 事件中移除的元素的节点位置
我正在尝试确定从 DOMNodeRemoved 事件中删除的节点的文档位置。但是,由于它是被移除的元素,因此该节点不再保存其 previousSibling 元素。有没有办法确定删除节点的位置?
google-chrome - 我应该使用 MutationRecord.oldValue 吗?
我在 Windows 7 上使用最新的 Google Chrome 稳定版(19.0.1084.56 m),并首次尝试使用 Mutation 观察者。(该项目是第三方网站的用户脚本,我无权访问其服务器。)
所以碰巧MutationRecord
有一个字段oldValue
:
record . oldValue
返回值取决于
type
. 对于“attributes
”,它是更改前的已更改属性的值。对于“characterData
”,是变更前节点的数据。对于“childList
”,它为空。
因此,我正在监视对的更改,characterData
但是当我得到MutationRecord
该字段时,该oldValue
字段始终为空。
如果它可以工作,是否有可能我有什么问题,或者这个功能太前沿而无法期望工作?
在某个地方我可以找到 Google 的文档、错误报告、功能请求等,这些文档可能会声明是否已实施或何时实施?
javascript - 如何让突变观察者检测文本区域的值变化?
我见过突变观察者在修改doms时用于获取doms的属性,例如使用google chrome开发者工具。textarea
但是,当由于用户键入或粘贴而导致文本更改时,我无法找到如何调用函数。在我的代码中,当用户键入回调时,即使所有观察选项都设置为 true,也不会调用回调。这个代码是什么?
javascript - 如何使用 jQuery 检测 HTML 元素是否消失?
在用户脚本中,我使用waitForKeyElements()
.
但是,我遇到了一个特定示例,该示例waitForKeyElements
不能可靠地触发更改。
我的用户脚本会调整theirID
以插入内部跨度,例如您在此处看到的:
然后该站点更改此代码以删除我的内部跨度,因此它看起来像:
出于某种原因,在某些情况下,waitForKeyElements
只是不会被该更改触发。我试图检测外部跨度、内部跨度、外部跨度的父级、其父级等的变化。
所以我现在想知道是否有其他方法可以检测,例如,元素 w/ myclass2
(内部跨度)是否消失了?我想我可以投票$('.myclass2').length
,但我不知道它从文件中的哪个位置消失了。理想情况下,我会知道持有现在丢失物品的特定父母。
有任何想法吗?
jquery - jQuery 选择器可以与 DOM 变异观察者一起使用吗?
HTML5 包含一个“突变观察者”的概念来监控浏览器 DOM 的变化。
您的观察者回调将传递看起来很像 DOM 树片段的数据。我不知道它们是否正是这样,或者它们是如何工作的。
但是,当您编写代码以与您无法控制的第 3 方站点交互时,例如使用 Greasemonkey 脚本或 Google Chrome 用户脚本,您必须检查传入的元素树以查找与您相关的信息。
这对于选择器来说要简单得多,就像使用任何 DOM 一样,比手动遍历树要简单得多,尤其是对于跨浏览器代码。
有没有办法将 jQuery 选择器与传递给 HTML5 突变观察者回调的数据一起使用?
javascript - 用于创建新元素的 Mutation Observer
我正在尝试在创建特定 div 时关闭功能。用最简单的术语来说,我有这样的事情:
之前,我让突变事件监听 div#bar 的创建 - 像这样:
是否有使用 Mutation Observers 的等价物?我尝试了 attrchange.js,在 DOM 元素的样式对象更改后,您可以使用 javascript 钩子触发器吗?但是该插件仅检测元素何时被修改,而不是何时创建。
javascript - 如何使用 Modernizr.js 测试 DOM4 Mutation Observers?
我正在尝试创建一个测试来检测使用 Modernizr.js的Mutation Observers 。在 Modernizer 文档中,有一个部分用于测试 DOM 元素,称为前缀。我尝试使用:
但很明显,这是行不通的。我得到一个TypeError: f.bind is not a function
我相当确定前缀字符串不是 MutationObserver,但我不知道它可能是什么,或者即使我正在正确编写测试。有任何想法吗?
javascript - Internet Explorer 中 MutationObservers 的可用性
IE 中尚不提供 AFAIK 突变观察器。Chrome、Safari、Firefox 都有自己的实现方式,并通过标准化流程进行工作。我想知道是否有人(最好是 MS 员工)知道 IE 的故事,或者可能会给我一个指向我错过的文章的指针。
javascript - IE10 是否支持 DOM4 Mutation Observers?
如果没有,那么我只能希望与带有突变事件的 IE9 相同的行为?
我问是因为我目前没有可用的 IE10 平台,而且谷歌搜索没有为我产生任何结果。