jQuery插件回调参数没有传递

时间:2014-12-27 16:28:46

标签: jquery jquery-plugins

我正在尝试使用回调创建一个插件,但是我无法将参数传递给回调函数。

我在插件中调用回调如下:

console.log(response.data);
base.options['onFinished'].call(response.data);

正如预期的那样,response.data是用正确的数据传播的,但是在另一端我定义了回调:

$ele.app({
   onFinished: function(data) {
      console.log(data);
   }
);

它被调用,但数据是“未定义的”。

2 个答案:

答案 0 :(得分:1)

options.onFinished.call(this,response.data);

答案 1 :(得分:0)

call的第一个参数应该是被调用函数中this使用的值,https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call

base.options['onFinished'].call(this, response.data);

注意您可以选择要设置上下文的内容。通常,您希望它是触发正在处理的事件的元素。该示例假定它也是当前正在执行的插件函数的上下文。