我想在触发用户事件后比较DOM节点的更改;但是我不知道用户会触发哪个元素,所以我的想法是(1)在事件之前保存DOM树,以及(2)在触发事件时将保存的树与更新的DOM树进行比较。
我的问题是 (1)有没有更好的方法?和 (2)如果没有其他方法,比较两个DOM树的快速算法是什么?
答案 0 :(得分:2)
由于事件冒出来,您可以简单地将事件侦听器附加到window
对象,该对象捕获所有事件,无论它们来自何处。您可以检查event.target
传递的event
对象,以查看其来源。
答案 1 :(得分:1)
取决于您期望的变化有多复杂,但一种可能的“更好”方式是使用the built in DOM events。具体来说,只要您正在观看的DOM树的某个部分发生更改,DOMSubtreeModified
事件就会触发。