我必须将 mousedown 事件分配给对象集合。
但是 .on() 方法似乎每回合都会覆盖我的对象。
这是我的代码中的一个非常简化的示例。
Javascript:
$(document).ready(function() {
var myArray = {
0: {"id": "box1", "color": "blue"},
1: {"id": "box2", "color": "green"}
};
for (i in myArray) {
box = $('div#'+myArray[i]['id']);
color = myArray[i]['color'];
box.data('color', color);
box.on({
mousedown: function() {
var color = myArray[i]['color'];
$(this).css({'background': $(this).data('color')});
myArray[i]['color'] = (i==0) ? "orange" : "pink";
}
});
}
});
和 HTML:
<div id="container">
<div id="box1"></div>
<div id="box2"></div>
</div>
另外,你可以在这里看到它的行动:http: //jsfiddle.net/ae3En/ 6/
希望有人可以帮助我,谢谢。