有什么办法可以捕获 document.createElement() 事件吗?

例如,某处,在 <body> 部分我有

<script>
    var div = document.createElement("div");
<script>

是否可以从 <head> 部分跟踪该事件(使用一些 addEventListener、变异观察者或任何其他方式)?

注意: 我需要跟踪元素的 创建 不是插入

最佳答案

警告 此代码不适用于所有浏览器。当涉及到 IE 时,所有的赌注都没有了。

(function() {
  // Step1: Save a reference to old createElement so we can call it later.
  var oldCreate = document.createElement;

  // Step 2: Create a new function that intercepts the createElement call
  // and logs it.  You can do whatever else you need to do.
  var create = function(type) {
    console.log("Creating: " + type);
    return oldCreate.call(document, type);
  }

  // Step 3: Replace document.createElement with our custom call.
  document.createElement = create;

}());

关于javascript - 有没有办法用 document.createElement() 跟踪元素的创建?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23095467/

10-11 12:58