Javascript 变异服务器无法识别更改

Javascript 变异服务器无法识别更改,javascript,jquery,Javascript,Jquery,我写了一个小脚本来识别段落中的变化。我不知道为什么MutationObserver无法识别这些更改。我希望在对文本进行某些更改时显示警报 $(函数(){ //存储测试段落节点 var测试=$('测试'); //遵守该段 this.observer=新的突变观察者(函数(突变){ 警报('段落已更改!') }.约束(这个); this.observer.observe(test.get(0),{characterData:true,childList:true}); }); 编辑文本! 您

我写了一个小脚本来识别段落中的变化。我不知道为什么
MutationObserver
无法识别这些更改。我希望在对文本进行某些更改时显示警报

$(函数(){
//存储测试段落节点
var测试=$('测试');
//遵守该段
this.observer=新的突变观察者(函数(突变){
警报('段落已更改!')
}.约束(这个);
this.observer.observe(test.get(0),{characterData:true,childList:true});
});

编辑文本!


您需要将
子树:true
添加到配置中(下面的示例)。这是因为正在更改的字符数据不是
p
元素,而是
p
元素中的文本节点

如果您观察的是
test.get(0).firstChild
p
元素的初始子文本节点),那么您将在没有
子树
标志的情况下收到通知-但是当然,您不会从
p
中的
em
元素收到通知。因此,添加
子树
可能是最好的选择

更正示例

$(函数(){
//存储测试段落节点
var测试=$('测试');
//遵守该段
this.observer=新的突变观察者(函数(突变){
警报('段落已更改!')
}.约束(这个);
观察者观察(测试获取(0){
characterData:true,
儿童名单:是的,

子树:true//这不是使用它的方式。@Dontclickonmyprofile非常友好,不仅将小提琴的内容复制到你的问题中,而且还演示了堆栈片段功能。很好的一个Dontclickonmyprofile.Yes。谢谢Dontclickonmyprofile。非常抱歉T.J.Crowder。是的,我试图通过将非代码标记为代码来欺骗它。I我们会注意这些错误不会重演。