Javascript 突变观察者中的characterData未按预期工作
根据变异观察者的说法,characterData属性用于指定是否监视正在观察的一个或多个节点对其文本内容的更改 我已经在配置中将characterData更改为false,但是当文本更改时,我仍然会收到回调 代码如下:Javascript 突变观察者中的characterData未按预期工作,javascript,mutation-observers,Javascript,Mutation Observers,根据变异观察者的说法,characterData属性用于指定是否监视正在观察的一个或多个节点对其文本内容的更改 我已经在配置中将characterData更改为false,但是当文本更改时,我仍然会收到回调 代码如下: var CONFIG = { childList: true, attributes: false, characterData: false, subtree: true, attributeOldValue: false, c
var CONFIG = {
childList: true,
attributes: false,
characterData: false,
subtree: true,
attributeOldValue: false,
characterDataOldValue: false
};
var callback = function(mutationsList, observer) {
for (var i in mutationsList) {
try {
if (mutationsList[i].type === 'childList' && mutationsList[i].addedNodes.length && document.getElementById('abc')) {
document.getElementById('abc').getElementsByTagName('span')[0].textContent = "changed text";
}
} catch (e) {
}
}
};
在上面的代码中,我得到了无限的回调。当然。这是因为文本是通过节点操作更改的。您能详细说明一下吗?它在chrome中运行良好,但在其他浏览器中则不行。根据文档,不应该这样做。可以通过删除然后添加整个文本节点来更改内容。当然,您可以检查textContent的规范,看看哪些行为是正确的。这是因为文本是通过节点操作更改的。您能详细说明一下吗?它在chrome中运行良好,但在其他浏览器中则不行。根据文档,不应该这样做。可以通过删除然后添加整个文本节点来更改内容。您可以检查textContent的规范以查看哪种行为是正确的。