我听说可以做这样的事情
this[func].apply(this, Array.prototype.slice.call(arguments, 1));
但是要访问该arguments
对象,我需要在该函数内部。
那么,例如,如果我在函数中运行代码function1
,有没有办法获取不同函数的参数function2
?
整个问题是我想向任何给定元素添加事件。但是这个元素可能已经附加了另一个事件。因此,如果我有一个附加到元素的“onclick”事件,我会执行以下操作:
var event = 'onclick';
if(typeof currentElement[event] === 'function'){
cf = currentElement[event];
f = function(){
cf();
func();
}
}else f = func;
currentElement[event] = f;
现在两个函数,新函数和前一个函数,都被调用了。问题是传递给前一个函数的参数在这个方法中丢失了。
有谁知道当我们像我的示例中那样动态调用函数时是否可以不丢失参数?
OBS:jQuery 不是一个选项:/