Mootools - 如何在一个事件中引用本地'this'和class'this'?

时间:2012-06-28 08:23:32

标签: javascript mootools

有10个 li 元素,其中5个元素中包含 元素。我想使用Mootools在 li 元素上添加一个事件。

一个类包含很少的变量和方法,包括 li 元素的事件,我的问题来自这里。请参阅下面 li 的活动,

li.addEvents({
    mouseover: function(e){
        console.log(this.id + ' / ' + this.classVar);
    }.bind(this)
});

如果我需要引用 li 本身和类变量,因为每个 li 都有唯一的 id classVar < / em>还有信息。但问题是如果我对事件使用 bind(this) this.id 将无效或者如果不使用它,* this.classVar'将无效

如果我使用 e.target.id 而不是 this.id ,它会返回正确的ID如果只有 li 没有 a 元素。否则 e.target 指的是 a 元素。

有人可以帮我吗?非常感谢提前

1 个答案:

答案 0 :(得分:3)

最简单的方法是使用selfme解决方法,就像这样......

function myClass()
{
    var self = this;
    this.classVar = 'foo';

    // some other code

    li.addEvents({
        mouseover: function(e){
            console.log(this.id + ' / ' + self.classVar);
        }
    });
}