确定操作/附加DOM的次数

时间:2012-03-16 01:17:09

标签: javascript jquery backbone.js underscore.js

有没有办法计算DOM附加到的次数?

2 个答案:

答案 0 :(得分:5)

如果您严格遵守.append(),则可以对其进行修补,例如:

var _origAppend = $.fn.append;
$.appendCount = 0;

$.fn.append = function() {
    $.appendCount++;
    return _origAppend.apply(this, arguments);
};

现在,您可以随时访问$.appendCount以查看它的调用频率。但是,请注意,有许多函数可以操作DOM。改为修补jQuery.fn.domManip可能是一个更聪明的想法。该方法基本上在内部调用任何dom操作(就像你可能因为名字而怀疑)

答案 1 :(得分:3)

您可以使用mutation events 请注意,它们会对性能产生巨大影响!

  

突变事件模块旨在允许通知文档结构的任何更改,包括attr和文本修改。可以注意到,列出的突变事件均未被指定为可取消的。这源于这样的事实:如果由于取消相关事件而对文档的任何改变可能会或可能不会发生,则很难利用现有的DOM接口来导致文档修改。虽然这仍然是一个理想的功能,但我们决定在将事务添加到DOM之前最好留下它。

Spec