2

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

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

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

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

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

有人可以帮我吗?提前谢谢了

4

1 回答 1

3

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

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

    // some other code

    li.addEvents({
        mouseover: function(e){
            console.log(this.id + ' / ' + self.classVar);
        }
    });
}
于 2012-06-28T08:26:42.130 回答