检测javascript中的div更改
为了好玩,我正在开发一个小的chrome扩展,我需要它能够做的一件事是检测div中的文本何时被网页本身更改。我使用的代码是:检测javascript中的div更改,javascript,html,dom,detection,Javascript,Html,Dom,Detection,为了好玩,我正在开发一个小的chrome扩展,我需要它能够做的一件事是检测div中的文本何时被网页本身更改。我使用的代码是: var status = document.getElementById("status").innerHTML; status.onchange = function() { console.log("CHANGE DETECTED") 这似乎不起作用,那么我应该用什么来代替呢 注意:我不想使用jquery,因为我目前对javascript还不是很精通,但如果
var status = document.getElementById("status").innerHTML;
status.onchange = function() {
console.log("CHANGE DETECTED")
这似乎不起作用,那么我应该用什么来代替呢
注意:我不想使用jquery,因为我目前对javascript还不是很精通,但如果它能简单得多,那就好了。使用
change
event不能做你想做的事。在较新的浏览器上,您可以使用。在旧浏览器上。。。嗯,你要求人们升级到更新的浏览器P使用这个技巧
资料来源:
谢谢@Touffy,这是一个非常有趣的derp。是的,考虑到观察者的整个想法是不要表现得像他们所取代的突变事件一样。@Touffy:是的。我甚至链接了正确的页面,但链接文本失败:P
// select the target node
var target = document.querySelector('#some-id');
// create an observer instance
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
console.log(mutation.type);
});
});
// configuration of the observer:
var config = { attributes: true, childList: true, characterData: true }
// pass in the target node, as well as the observer options
observer.observe(target, config);
// later, you can stop observing
observer.disconnect();