我正在尝试为我在Mootools中创建的类分配一个事件处理程序,但我似乎无法访问我为该类创建的任何变量。像这样:
var newPerson = new Class({
initialize: function(name)
{
this.firstName = name;
//-------Creating Div----------//
...........
//--------Created Div----------//
$(this.newDiv.id).click(function()
{
alert("clicked");
};
};
现在,当我更改函数以警告分配了名称alert(this.firstName);
的对象时,它不会访问它们,我无法弄清楚原因。
任何人都可以指出我正确的方向。
感谢。
答案 0 :(得分:2)
在“initialize”函数的顶部,添加一个变量声明:
var thisObj = this;
现在,在你的处理程序中,你应该能够:
alert(thisObj.firstName);
通过在“initialize”函数开始时隐藏this
,您可以为“click”处理程序提供一种获取原始对象的方法。在处理程序中,this
将引用与事件有关的DOM元素。 (我实际上在猜测,因为我对MooTools并不熟悉。)