Показать сообщение отдельно
  #28 (permalink)  
Старый 04.08.2017, 09:23
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,728

rdPavel, скорее всего речь идет об этом:
<div id="block"></div>
<script>var block=document.getElementById('block'),
i=2;
func=function(){alert(++i);},
block.addEventListener('click',function(){alert(1);},false);
block.addEventListener('click',function(){alert(2);},false);
block.addEventListener('click',func,false);
block.addEventListener('click',func,false);

block.dispatchEvent(new Event('click'));
</script>

Алерт будет вызван только трижды со значениями 1-3, четвертого вызова не произойдет.
Строки 5-6 - навешивание уникальных анонимных функций в кач-ве обработчика.
Строки 7-8 - навешивание одной и той же функции на один и тот же элемент, и на одно и то же событие.

Суть в том, что в строках 5-6 функции-обработчики уникальны, а в строках 7-8 в кач-ве обработчика выступает одна и та же функция, записанная в переменную.
Ответить с цитированием