jQuery:如何监听DOM更改?

Ton*_*nov 17 html javascript jquery events

是否有可能,我如何通过jQuery监听整个DOM树的更改?

我的具体问题:我有一个'工具提示'功能,title当您hover对任何html元素执行操作时,它以时尚的方式显示属性的内容.但是,当您执行悬停时,标准浏览器会title在自己的框中进行渲染.我想压制它.所以我想到的是在第一次加载页面时将title属性的内容移动到自定义(HTML5)data-title属性,然后我的工具提示功能将使用data-title.

问题是,稍后我可能会动态添加/删除/更改HTML,因此我需要"重新绑定"这些元素 - 再次更改这些标题.如果有一个事件监听器会为我监听这些更改并自动重新绑定元素,那就太好了.

nig*_*f0x 35

我最好的猜测是你想听DOM变异事件.你可以通过DOM突变事件做任何正常的javascript事件,如鼠标点击.

参考:W3 MutationEvent

例:

$("element-root").bind("DOMSubtreeModified", "CustomHandler");
Run Code Online (Sandbox Code Playgroud)

  • 但是,DOMSubtreeModified应该用引号括起来. (8认同)
  • 变异事件已被[弃用](https://developer.mozilla.org/en-US/docs/Web/API/MutationEvent). (6认同)