1
爲什麼在本例中警報總是「您單擊按鈕5」?我怎樣才能讓n在事件處理程序中保持正確的值?在事件處理程序中使用變量作爲常量
HTML:
<div id="container"></div>
JS:
var container = document.getElementById("container");
for (var n = 0; n < 5; n++) {
var btn = document.createElement("button");
btn.innerHTML = "Button " + n;
btn.onclick = function() {
alert("You clicked button " + n);
}
container.appendChild(btn);
}
我在這個例子中,我可以只使用類似this.innerHTML或N作爲它的值分配給該按鈕的屬性實現,但我對這樣做並不感興趣。
繼承人的小提琴:http://jsfiddle.net/WFNL2/1/