這裏是演示的全部代碼:http://jsfiddle.net/DF2Uw/4/僅列出觸發最後一個
基本上,我生成多個事件偵聽器與FOR
循環。我生成了多個<selects>
,並且想要檢測onChange事件並返回已更改的特定選擇的ID。然而,似乎只有最後一位事件監聽者能夠倖存,因爲其他人沒有觸發。
對此行爲的任何解釋?
HTML
<ol id="slots"></ol>
JAVASCRIPT
var slotnameHtml = '';
for (var i = 0; i < 3; i += 1) {
var slotname = document.createElement('select'),
slottime = document.createElement('select'),
slotlist = document.createElement('li');
slotname.innerHTML = slotnameHtml;
slottime.innerHTML = '<optgroup><option value="1">00:01</option><option value="2">00:02</option></optgroup>';
slottime.id='test'+i;
slotlist.appendChild(slotname);
slotlist.appendChild(slottime);
document.getElementById('slots').appendChild(slotlist);
slottime.addEventListener('change', function() {
alert(slottime.id)
});;
}
新增了,謝謝! – cmplieger