Я слышал, что можно сделать что-то вроде этогоПопадая аргументы функции внутри другой функции
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 не вариант:/
Пожалуйста, просто используйте 'addEventListener' или' attachEvent'; намного проще. –
Для этого конкретного случая вы знаете, какие аргументы получат обе функции - они одни и те же аргументы и не могут измениться. Это объект 'event' во всех браузерах, кроме IE, где он не определен. – slebetman