javascript - 可以监控何时从 div 添加/删除图像吗?

标签 javascript jquery css-selectors

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

我有一个 div,一些 javascript 函数(超出我的控制)将向该 div 添加或删除图像(可能嵌套在多个 div/span 中)。

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

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

最佳答案

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

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

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

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

事件对象将为您提供有关到底发生了什么的更多信息。


既然您要求替代方案,那就有 jQuery livequery 插件。 AFAIK,如果可用,我还将使用 Mutation Events,但它声称与 jQuery 支持的所有浏览器兼容。这意味着,他们将使用后备解决方案(很可能是间隔计时器)来检查不兼容浏览器中的更改。

进一步阅读:Mutation Events

关于javascript - 可以监控何时从 div 添加/删除图像吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11738268/

相关文章:

javascript - 定位前 2 个之后的所有 <br>

jquery - 如何根据href属性找到页面中的链接?

html - CSS 基于链接的文本值

javascript - 导航链接上的 Onclick 事件触发汉堡包图标上的 css 动画

javascript - 如何从网页获取 JSON 对象数组并将每个元素添加到 HTML 中的行?

javascript - 检测 JavaScript 版本

javascript - coffeescript 默认参数在未传递时不会分配给与 arg 同名的外部变量

javascript - jquery .addClass 到将来的js生成的html

css - last-of-type 不适用于 IE11 和 Edge 中的自定义元素

javascript - 如何从 Tumblr 主题选项的输出创建全局变量?