有没有办法观察特定DIV的内容,我想在DIV的内容被更改后立即调用函数。
这可以是innerHTML替换,页面加载。
由于
答案 0 :(得分:2)
在现代浏览器中,您可以使用 DOM突变事件,例如DOMSubtreeModified
,DOMCharacterDataModified
。在IE中,您可以使用onchange
事件。对于所有其他浏览器,您可以设置计时器以检查内容是否已更改。
答案 1 :(得分:1)
您可以检查元素的内容,与之前的值进行比较。
检索要观看的元素
var div = document.getElementById("w");
创建观察者:
var w1 = { watch: null, prev: div.innerHTML };
启动观察者。每100ms它会将之前的值与当前值进行比较,如果它不同,它将更新值并触发任何操作。
function Watch(w, e)
{
w.watch = setInterval(function() {
if (e.innerHTML != w.prev)
{
w.prev = e.innerHTML;
alert("changed");
}
}, 100);
}
Watch(w1, div);
答案 2 :(得分:0)
在this page中,它表示DIV应在其内容被修改时触发OnChange。
观察div变化不是一种有效的技术。您是否考虑过将更改DIV内容的代码设置为触发和事件?
或者,您可以设置一个计时器来监视div中的更改并触发某些事件。