Javascript Jquery在执行另一个函数时触发函数
当另一个函数以类似于DOM事件的方式完成时,是否有方法触发该函数 e、 (我知道这是不可能的,但是…)Javascript Jquery在执行另一个函数时触发函数,javascript,jquery,function,events,Javascript,Jquery,Function,Events,当另一个函数以类似于DOM事件的方式完成时,是否有方法触发该函数 e、 (我知道这是不可能的,但是…) 不,除非您可以替换该函数(即访问其作用域),否则绝对没有办法做到这一点 如果您确实可以访问范围,那么它将变得非常简单,并且根本不需要任何jQuery: var origFunc = theFunction; theFunction = function() { var args = Array.prototype.slice.call(arguments); // run be
不,除非您可以替换该函数(即访问其作用域),否则绝对没有办法做到这一点 如果您确实可以访问范围,那么它将变得非常简单,并且根本不需要任何jQuery:
var origFunc = theFunction;
theFunction = function() {
var args = Array.prototype.slice.call(arguments);
// run before the call
var rv = origFunc.apply(this, args);
// run after the call
return rv;
};
有关包含传递给函数的参数的函数的信息,请参见MDN。不幸的是,使用
slice
将其转换为普通数组是必要的,因为IE9等浏览器无法正确遵循ES5标准,这要求apply
接受任何类似数组的对象。不,除非您可以替换该函数(即访问其作用域),否则绝对无法做到这一点
如果您确实可以访问范围,那么它将变得非常简单,并且根本不需要任何jQuery:
var origFunc = theFunction;
theFunction = function() {
var args = Array.prototype.slice.call(arguments);
// run before the call
var rv = origFunc.apply(this, args);
// run after the call
return rv;
};
有关包含传递给函数的参数的函数的信息,请参见MDN。不幸的是,使用
slice
将其转换为普通数组是必要的,因为IE9等浏览器无法正确遵循ES5标准,这要求apply
接受任何类似数组的对象。不确定这是否完全是您想要的。但是我认为您应该尝试jqueryDeferred
对象。在这里查看jquery文档-
简要概述-
- 您可以为延迟对象的done/fail/always事件指定回调李>
- 现在需要做的就是调用此延迟对象上的resolve/reject事件
- 触发此事件将运行相应回调中指定的方法
希望这有帮助。不确定这是否完全是您想要的。但是我认为您应该尝试jquery
Deferred
对象。在这里查看jquery文档-
简要概述-
- 您可以为延迟对象的done/fail/always事件指定回调李>
- 现在需要做的就是调用此延迟对象上的resolve/reject事件
- 触发此事件将运行相应回调中指定的方法
希望这有帮助。我看不到您的完整代码,但为什么不在第一个函数末尾调用第二个函数?我看不到您的完整代码,但为什么不在第一个函数末尾调用第二个函数?谢谢!它确实具有全局范围,并且您的示例非常有效:DThanks!它确实具有全局范围,并且您的示例非常有效:D