我正在开发一个小的chrome扩展程序以获得乐趣,而我需要做的一件事就是检测div中的文本何时被网页本身更改。我正在使用的代码是:
var status = document.getElementById("status").innerHTML;
status.onchange = function() {
console.log("CHANGE DETECTED")
这似乎不起作用,所以我应该使用什么呢?
注意:我不想使用jquery,因为我目前对javascript并不十分熟悉,但如果它更简单/更容易,那就没关系了。
答案 0 :(得分:1)
您无法使用change
事件执行所需操作。在较新的浏览器上,您可以使用Mutation Observers。在较旧的浏览器上......好吧,你要求人们升级到更新的浏览器。 :P
答案 1 :(得分:0)
使用此技巧
// 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();