0

如果不包装到函数中,我无法代理函数 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.

我不能改变功能!

有任何想法吗?

4

1 回答 1

0

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

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

function() { a.call("Great!") }
于 2013-08-12T15:54:27.143 回答