setTimeout не работает в event listener

Почему-то не работает setTimeout внутри addEventListener.

<button id="button" class="search-form__btn" type="submit">Найти</button>

document.getElementById('button').addEventListener('click', function () {
setTimeout(() => {
    console.log('alert с таймером 3 секунды')
}, 3000)})

Должен через 3 сек после нажатия на кнопку выдать console.log(). Кнопка нажимается - ничего не происходит.


Ответы (2 шт):

Автор решения: vsemozhebuty

Видимо, проблема в чём-то другом, потому что ваш фрагмент работает:

document.getElementById('button').addEventListener('click', function () {
setTimeout(() => {
    console.log('alert с таймером 3 секунды')
}, 3000)})
<button id="button" class="search-form__btn" type="submit">Найти</button>

→ Ссылка
Автор решения: Grundy

Проблема в type="submit" - при отправке формы происходит перезагрузка и обработчик setTimeout просто не успевает выполниться.

→ Ссылка