我想记录所有 jquery 调用,例如:
HTML
<div id="element"></div>
Jquery
$("#element").addClass("yourClass");
$("#element").hide();
结果应该是:
<div id="element" data-js="1,2"></div>
* 基础函数添加的“data-js”属性,让我知道原始代码在哪一行。
基本上,我需要在 jquery 中创建基本插件或回调每个插件,以便我可以在某个地方注册它。
最佳答案
我不知道所有 jQuery 方法中内置有任何 jQuery 方法“ Hook ”功能,因此我认为您知道何时从您自己的 javascript 调用所有 jQuery 方法的唯一方法是为每个 jQuery 方法动态安装一个 Hook 。您可以循环遍历 jQuery.fn
中的所有方法。 (安装所有插件后)并安装一个填充程序来进行日志记录,然后调用原始方法,小心保留 this
、参数和返回值。
垫片看起来像这样:
function installShims() {
for (var method in jQuery.fn) {
if (jQuery.fn.hasOwnProperty(method) &&
typeof jQuery.fn[method] === "function" &&
method !== "init") {
(function(oldMethod) {
jQuery.fn[method] = function() {
// do your logging here
// you have access to this and to arguments
return oldMethod.apply(this, arguments)
};
})(jQuery.fn[method])
}
}
}
关于javascript - jquery 记录所有函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22141559/