Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery在执行另一个函数时触发函数_Javascript_Jquery_Function_Events - Fatal编程技术网

Javascript Jquery在执行另一个函数时触发函数

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

当另一个函数以类似于DOM事件的方式完成时,是否有方法触发该函数

e、 (我知道这是不可能的,但是…)


不,除非您可以替换该函数(即访问其作用域),否则绝对没有办法做到这一点

如果您确实可以访问范围,那么它将变得非常简单,并且根本不需要任何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
接受任何类似数组的对象。

不确定这是否完全是您想要的。但是我认为您应该尝试jquery
Deferred
对象。在这里查看jquery文档-

简要概述-

  • 您可以为延迟对象的done/fail/always事件指定回调
  • 现在需要做的就是调用此延迟对象上的resolve/reject事件
  • 触发此事件将运行相应回调中指定的方法
我把这个小提琴编成了一个演示


希望这有帮助。

不确定这是否完全是您想要的。但是我认为您应该尝试jquery
Deferred
对象。在这里查看jquery文档-

简要概述-

  • 您可以为延迟对象的done/fail/always事件指定回调
  • 现在需要做的就是调用此延迟对象上的resolve/reject事件
  • 触发此事件将运行相应回调中指定的方法
我把这个小提琴编成了一个演示


希望这有帮助。

我看不到您的完整代码,但为什么不在第一个函数末尾调用第二个函数?我看不到您的完整代码,但为什么不在第一个函数末尾调用第二个函数?谢谢!它确实具有全局范围,并且您的示例非常有效:DThanks!它确实具有全局范围,并且您的示例非常有效:D