我需要设置一个事件处理程序,只要东西被追加/变更/对DOM删除这应该解雇。 This answer在我的情况下不起作用。 DOM可以被第三方开发者修改,并且在每次DOM更改时,我们都需要运行我们的脚本来验证代码。输入/文本/选择更改不应触发事件。
我们做不是针对所有浏览器。只要它适用于Webkit(Chrome,Safari),就足够了。
任何想法?
我需要设置一个事件处理程序,只要东西被追加/变更/对DOM删除这应该解雇。 This answer在我的情况下不起作用。 DOM可以被第三方开发者修改,并且在每次DOM更改时,我们都需要运行我们的脚本来验证代码。输入/文本/选择更改不应触发事件。
我们做不是针对所有浏览器。只要它适用于Webkit(Chrome,Safari),就足够了。
任何想法?
我不认为所有浏览器都有这样的事件。我会随着一个自定义事件,并在我操纵dom时触发它。
//Subscribe to domChanged event
$(document).bind('domChanged', function(){
alert('Dom changed');
});
//Trigger the domChanged event
$(document).trigger('domChanged');
问题状态dom由第三方管理。所以这是行不通的。 – Myster 2012-10-09 08:53:17
'domChanged'应该是一个在事件模块中定义的常量。例如,'export const domInjected ='myDOMInjected';'(ES6)你可能也想小心使用可能已经存在的东西,比如DOMNodeInserted – 2016-08-17 12:26:56
DOM突变事件(我相信不是在所有浏览器都支持)..看到http://en.wikipedia.org/wiki/DOM_events#Common.2FW3C_events
没有人有链接的问题,这是完全相同的副本?我从谷歌来到这里。 – travis 2012-04-16 18:05:39
@travis:不完全重复,但关闭:http://stackoverflow.com/questions/3219758/detect-changes-in-the-dom – Sherzod 2012-04-16 18:09:32
@travis:我实际上找到了适合我的情况的答案:使用'DOMSubtreeModified'事件,但您需要检查浏览器支持。 Webkit可以正常工作。 – Sherzod 2012-04-16 18:11:48