没有参数的直接代理

时间:2013-08-12 15:50:20

标签: jquery

我不能代理函数a而不包装到函数中:

function a(b) {
  if (arguments.length != 0){
    throw 'illegal';
  }
  alert(this);
}


jQuery.proxy(a,"Great!");  /// throw error because b is an event.
jQuery.proxy(a,"Great!",undefined); // throw error because length is 1
jQuery.proxy(function(){a();},"Great!"); // ok, but not directly.

我无法更改功能a!

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

所以你试图创建一个绑定函数但是剥离参数。

然后$.proxy包装不是更简单的解决方案。你可以用这样的一个包装来做到这一点:

function() { a.call("Great!") }