Почему функция выполняется до события 'click'?
button.addEventListener('click', createErrorMessageField());
function createErrorMessageField() {
dataItems.forEach(element => {
let errorMessage = document.createElement('div');
errorMessage.className = 'error-hidden';
element.after(errorMessage);
if (element.required === true && element.value === '') {
errorMessage.innerText = 'This field is required';
errorMessage.className = addErrorClass;
}
})
}
Подскажите, пожалуйста, почему выполнение функции происходит до клика? прогружается страница и уже я вижу добавленные дивы с классами и т.д
Ответы (1 шт):
Автор решения: Vladimir
→ Ссылка
Потому что ты уже вызываешь эту функцию в обработчике button.addEventListener('click', createErrorMessageField());
Надо написать просто вот так button.addEventListener('click', createErrorMessageField);
Или
button.addEventListener('click', function () {
createErrorMessageField()
);