Lukashev, дело в том что addEventListener добавляется, а не заменяется:
<input type="button" id="button" value="Test">
<script>
for (var i = 0; i < 5; i++) {
button.addEventListener('click', function() {
alert(i--);
});
}
</script>
Таким образом число обработчиков события с каждым ходом увеличивается в геометрической прогрессии.