作者lturtsamuel (港都霹靂火)
看板Web_Design
標題[問題] js在迴圈裡設定函數
時間Sat Jan 11 11:38:46 2014
不好意思問題有點不清楚
我想問的是,在一個for迴圈中,變數i的質每次都會變
要怎麼用i來當作函數的變數呢?
好像越講越不清楚,舉個例子好了
像是我html裡有三個div,id就叫d1,d2,d3好了
現在我想要設定他們的onclick,按到d1時會alert("hello 1!")這樣,以此類推
直覺想到的方法是
window.onload = {
for(var i = 1; i <= 3; i++) {
var d = getElementById('d' + i);
d.onclick = function() {
alert('hello' + i);
};
}
}
不過這樣每個都alert("hello 4!")
我的想法是把i用字面上的形式保留下來,不過不知道怎麼做
所以po來這邊請各位高手解答,感恩...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.201.19
→ Darkland:for(...){ (function(i) { ..... })(i) } 01/11 11:44
→ lturtsamuel:太感謝了!! 01/11 11:52
→ Rplus:Javascript中的傳遞參考與closure (4) by azole 01/15 04:14