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/
誰かが私を助けてくれることを願っています、ありがとう。