如何在element.innerHTML改变时立即运行一个函数?

时间:2012-02-29 23:33:01

标签: javascript

首先,我计划设置元素的 innerHTML a gettersetter
但我发现它不起作用,我知道它为什么不会,但有没有办法完成这项任务? 谢谢

2 个答案:

答案 0 :(得分:0)

您需要查看DOM Mutation Events。这些事件的浏览器支持很差,但它们可以帮助您捕捉innerHTMl即DOM更改的时刻。请查看DOMSubtreeModified事件。

<强>更新

或者,您可以设置超时并在一段时间后手动检查dom更改。一旦检测到更改,您就可以触发应用程序级事件或执行函数。

答案 1 :(得分:0)

尝试DOMNodeInserted事件。 jQuery的:

$('.yourElement').bind('DOMNodeInserted', function(e) {
    alert('New content: ' + $(e.target).innerHTML);
});

它不是跨浏览器兼容的。但这可能不是一个问题,取决于您的项目。

您可能希望使用setInterval()定期检查更改。