【发布时间】:2011-06-19 03:23:45
【问题描述】:
带有状态形状按钮的交互式地图,每个按钮都有状态缩写作为 id,当单击按钮/状态时,我想触发函数“stateSelect”并发送状态缩写,所以我知道什么被按下。为什么以下不起作用?
var stateList = new Array("AK","AL","AR","AS","AZ","CA","CO","CT","DC","DE","FL","GA","GU","HI","IA","ID",
"IL","IN","KS","KY","LA","MA","MD","ME","MH","MI","MN","MO","MS","MT","NC","ND","NE","NH","NJ","NM","NV","NY",
"OH","OK","OR","PA","PR","PW","RI","SC","SD","TN","TX","UT","VA","VI","VT","WA","WI","WV","WY");
for (var i = 0; i < stateList.length; i++) {
document.getElementById(stateList[i]).addEventListener('mousedown', function() {stateSelect(stateList[i])}, false);
}
我显然想避免 50 行代码,但我不确定为什么这个简单的循环不起作用。
【问题讨论】:
标签: javascript arrays loops for-loop addeventlistener