我有這個點擊事件附加到每個按鈕,當我點擊他們每個人,它是打印輸出意味着第三個按鈕。我不確定發生了什麼事。javascript onclick事件沒有正確觸發
<!DOCTYPE html>
<html>
<head>
<title>JS Bin</title>
</head>
<body>
<button>test1</button>
<button>test2</button>
<button>test3</button>
</body>
<script>
var nodes = document.getElementsByTagName('button');
for (var i = 0; i < nodes.length; i++) {
nodes[i].addEventListener('click', function() {
console.log('You clicked element #' + i);
});
}
</script>
</html>
當我點擊任何按鈕,它是印刷
"You clicked element #3"
當'click'觸發時,它顯示'i'的最後一個值,它是3.您需要在這裏使用閉包。在這裏,你去http://stackoverflow.com/a/8802111/3639582 –