I'am пытаются использовать некоторые значения из «верхнего» функции в «внутренней» функции:Нанести на EventListener не работает
function Load(el, script)
{
el.addEventListener('click',
function (e)
{
this.test = "testing";
script.apply(this, arguments);
}, false);
};
Load(document.getElementById("panel"),
function (e)
{
alert(test); // test is undefined
});
Приведенный выше пример не работает, он говорит test
не определено.
Но следующие работы:
function A(B)
{
this.test = "bla";
B.apply(this);
}
function B()
{
alert(test);
}
A(B);
В чем разница? Как я могу заставить его работать правильно?
Хм спасибо !! Есть ли способ разрешить мне ссылаться на 'test', не используя' this.'? – BrunoLM
@BrunoLM - Нет ... у вас должен быть какой-то контекст, если только он не является глобальной или локальной переменной (и он не будет в обработчике), вам нужно ссылаться на него из объекта, на котором он включен. –
Я вижу. Еще раз спасибо! – BrunoLM