下面是一個循環,它創建了六個不同顏色的框。當點擊一個框時,變量「color」變成框的顏色。代碼存在一個明顯的問題,那就是關閉(所有的框都獲得數組中的最後一個類,boxColors [i]不可能在事件內部使用(undefined)。閉環問題(事件)
如何解決這個問題一個優雅的方式?在此先感謝。
var boxColors = ['red', 'green', 'blue', 'yellow', 'white', 'black'];
for (var i = 0; i < boxColors.length; i++){
$('<div/>', {
'class': boxColors[i]
}).appendTo(toolboxSection1).click(function(){
color = boxColors[i];
});
}
*」 ......所有的箱子得到的最後一堂課在陣列中......「*你確定嗎?每個元素都應該從數組中獲得唯一的類,所以唯一的問題應該是事件處理程序(可以輕鬆訪問元素的'className'屬性)。 – 2012-01-10 00:08:27