我'试图在“内”功能使用一些值从“上”功能:应用上的事件监听不起作用
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);
有什么区别?我怎样才能使它正常工作?
嗯谢谢!有没有办法让我不用'this.'来引用'test'? – BrunoLM 2010-07-17 03:20:08
@BrunoLM - Nope ...你必须有一些上下文,除非它是一个全局变量或局部变量(并且它不在处理程序中),你需要从它所在的对象引用它。 – 2010-07-17 03:21:34
我明白了。再次感谢! – BrunoLM 2010-07-17 03:22:46