有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 元素。
有人可以帮我吗?非常感谢提前
答案 0 :(得分:3)
最简单的方法是使用self
或me
解决方法,就像这样......
function myClass()
{
var self = this;
this.classVar = 'foo';
// some other code
li.addEvents({
mouseover: function(e){
console.log(this.id + ' / ' + self.classVar);
}
});
}