Добрый день, помогите разобраться. Listenerы срабатывают сразу, не дожидаясь события, почему?
Код:
<div id='1'>1: X</div>
<div id='2'>2: X</div>
<div id='3'>3: X</div>
<div id='out'></div>
<script>
function out(id) {
document.getElementById('out').innerHTML += (id + ' ');
}
function listener(id) {
document.getElementById(id).addEventListener('click', out(id));
/*
а так работает корректно!!!:
document.getElementById(id).addEventListener('click', function() {
document.getElementById('out').innerHTML += (id + ' ');
});
*/
}
listener(1);
listener(2);
listener(3);
</script>
Результат запуска:
1: X
2: X
3: X
1 2 3