如何在JavaScript中将方法绑定到for循环中的多个对象

时间:2015-12-28 17:24:46

标签: javascript javascript-objects

我正在寻找如何在JavaScript中为多个对象绑定一个方法的最佳方法。

我需要做的是在运行时创建多个对象,然后将它们绑定到相同的功能,让我们说"改变鼠标上的颜色"。

我有方法:

function changeElement(element) {
  element.fill({
    r: ~~(Math.random() * 255),
    g: ~~(Math.random() * 255),
    b: ~~(Math.random() * 255)
  });
}

我有代码:

for (i = 0; i < 5; i++) {
  var r = draw.rect(50, 50);
  r.move(i * 80, 100);
  r.mouseover(function() {
    changeElement(r);               // <-- this is not working
  });
};

但是对于最后一个循环中的所有对象都不起作用。

我做错了什么但我不知道是什么。

此处的完整示例https://jsfiddle.net/mojno7/2ysowx5u/

0 个答案:

没有答案