jquery ui スライダーの次のコードがあります。
var setupChartControllers = function () {
for (var i = 0; i < 3; i++) {
$("#chart-range-"+ i).slider({
orientation: "vertical",
range: true,
values: [0, 100],
stop: function (event, ui) {
sliderEndFunc(event, ui, i);
}
});
}
}
var sliderEndFunc = function (event, ui, chartNumber) {
drawChart(chartNumber);
}
問題は、「i」がクロージャーの変数であることです。スライド終了イベントがトリガーされるまでに、すべてのイベントで i=3 の値を取得します。変数の代わりに変数を値として渡すにはどうすればよいですか? (値型と oop の参照型のようなものが必要です) chart-range-1 トリガー drawChart(1) が必要です。