想知道是否有一种优雅的方式来监听javascript和/或jQuery中的函数。
而不是倾听 $('#mything').click(function(){ //blah })
我想听一下特定功能何时被触发。我不想编辑函数,因为它在我不想直接破解的库中。
我确实发现了这个: http://plugins.jquery.com/project/jqConnect 连接功能。
但想知道更好的技术。
想知道是否有一种优雅的方式来监听javascript和/或jQuery中的函数。
而不是倾听 $('#mything').click(function(){ //blah })
我想听一下特定功能何时被触发。我不想编辑函数,因为它在我不想直接破解的库中。
我确实发现了这个: http://plugins.jquery.com/project/jqConnect 连接功能。
但想知道更好的技术。
执行此操作的唯一方法是覆盖该函数(即,破解库):
(function() {
var oldVersion = someLibrary.someFunction;
someLibrary.someFunction = function() {
// do some stuff
var result = oldVersion.apply(this, arguments);
// do some more stuff
return result;
};
})();
编辑: 要在库函数运行后运行代码,只需先调用库函数,将结果存储在变量中。然后,运行您的代码,最后返回先前存储的结果。我已经更新了上面的示例,以便在库函数之前或之后容纳运行代码。
执行此操作的唯一方法是覆盖该函数(即,破解库):
(function() {
var oldVersion = someLibrary.someFunction;
someLibrary.someFunction = function() {
// do some stuff
var result = oldVersion.apply(this, arguments);
// do some more stuff
return result;
};
})();
编辑: 要在库函数运行后运行代码,只需先调用库函数,将结果存储在变量中。然后,运行您的代码,最后返回先前存储的结果。我已经更新了上面的示例,以便在库函数之前或之后容纳运行代码。