Показать сообщение отдельно
  #1 (permalink)  
Старый 02.09.2018, 15:14
Интересующийся
Отправить личное сообщение для __Alex__ Посмотреть профиль Найти все сообщения от __Alex__
 
Регистрация: 18.06.2018
Сообщений: 21

Listenerы срабатывают сразу, не дожидаясь события, почему?
Добрый день, помогите разобраться. 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
Ответить с цитированием