我不能代理函数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!
有什么想法吗?
答案 0 :(得分:0)
所以你试图创建一个绑定函数但是剥离参数。
然后$.proxy
包装不是更简单的解决方案。你可以用这样的一个包装来做到这一点:
function() { a.call("Great!") }