可以监视何时从div添加/删除图像?

时间:2012-07-31 10:40:46

标签: javascript jquery css-selectors

如果有可能以某种方式监视div的DOM中的更改那么这将是我的解决方案 - 这将足以触发我的事件处理程序,但如果不可能 - 这是我的问题:

我有一个div,一些javascript函数(在我的控制之外)将向这个div添加或删除一个图像(可能嵌套在几个div / spans中)。

我需要附加一个事件(如果可能的话,使用jQuery),当添加或不添加此特定图像时将触发该事件。

编辑:澄清一下 - 当我说添加时 - 我并不是要对它的显示属性进行某种切换,我的意思是完全添加或完全删除。

1 个答案:

答案 0 :(得分:2)

您可以使用突变事件来实现此目的。请注意,其中一些事件现在已被弃用。

$('div').on( 'DOMSubtreeModified', function( event ) {
   // something was changed
});

如果您只需要知道是否添加了某个节点,请使用

$('div').on( 'DOMNodeInserted', function( event ) {
   // something was changed
});

event object会为您提供有关确切情况的更多信息。


由于您要求替代方案,因此有jQuery livequery插件。 AFAIK,我还将使用 Mutation Events (如果可用),但它声称与jQuery支持的所有浏览器兼容。这意味着,他们将使用回退解决方案(很可能是intervall timers)来检查不兼容浏览器中的更改。

进一步阅读:Mutation Events