I am looking for best way how to bind one method for multiple objects in JavaScript.
What I need to do is to create multiple objects in runtime and then bind them the same functionality let say "change color on mouse over".
I have method:
function changeElement(element) {
element.fill({
r: ~~(Math.random() * 255),
g: ~~(Math.random() * 255),
b: ~~(Math.random() * 255)
});
}
and I have code:
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
});
};
but is not working for all objects in loop just for last one.
I am doing something wrong but I don't know what.
Full example here https://jsfiddle.net/mojno7/2ysowx5u/.