我正在尝试将事件处理程序分配给我在 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);
时,它不会访问它们,我也不知道为什么。
谁能指出我正确的方向?
最佳答案
在“初始化”函数的顶部,添加一个变量声明:
var thisObj = this;
现在,在您的处理程序中,您应该能够:
alert(thisObj.firstName);
通过在“初始化”函数开始时存储 this
,您为“点击”处理程序提供了一种获取原始对象的方法。在处理程序中,this
将引用与事件相关的 DOM 元素。 (我实际上是在猜测,因为我对 MooTools 不是很熟悉。)
关于javascript - 混淆使用 Mootools 和 'This' 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5778413/