如何使用 MutationObserver 获取导致 DOM 突变的函数?

Jul*_*ius 2 javascript mutation-observers

我目前正在尝试找出哪个函数使用MutationObserver. 不幸的是,以下代码段不起作用(堆栈跟踪似乎是空的)。

var targetNode = document.body;
var config = { attributes: true, childList: true, subtree: true };
var callback = function(mutationsList, observer) {
    for(var mutation of mutationsList) {
      // The trace unfortunatelly doesn't contain the function 
      // "addSomeElement", which I am trying to receive at this point.
      console.trace(); 
    }
};

var observer = new MutationObserver(callback);
observer.observe(targetNode, config);
Run Code Online (Sandbox Code Playgroud)

接下来是一些 DOM 突变:

function addSomeElement() {
  targetNode.appendChild(document.createElement('span'));
}
addSomeElement();
Run Code Online (Sandbox Code Playgroud)

有什么办法可以输出执行实际突变调用的函数(在这种情况下是appendChild)?

And*_*eas 5

使用 DOM 断点(应该适用于 Chrome 和 Firefox)

开发者工具
-> Inspector
-> 右键单击​​要监控的元素
-> Break on: Subtree 修改

更改所选节点的子元素时,浏览器将在负责的JavaScript上打破。

添加DOM断点