javascript比较两个DOM树

时间:2010-05-25 06:01:05

标签: javascript dom

我想在触发用户事件后比较DOM节点的更改;但是我不知道用户会触发哪个元素,所以我的想法是(1)在事件之前保存DOM树,以及(2)在触发事件时将保存的树与更新的DOM树进行比较。

我的问题是 (1)有没有更好的方法?和 (2)如果没有其他方法,比较两个DOM树的快速算法是什么?

2 个答案:

答案 0 :(得分:2)

由于事件冒出来,您可以简单地将事件侦听器附加到window对象,该对象捕获所有事件,无论它们来自何处。您可以检查event.target传递的event对象,以查看其来源。

答案 1 :(得分:1)

取决于您期望的变化有多复杂,但一种可能的“更好”方式是使用the built in DOM events。具体来说,只要您正在观看的DOM树的某个部分发生更改,DOMSubtreeModified事件就会触发。