как запустить действие при загрузке страницы / js
у меня есть event на клик, хотелось бы так же запустить эту функцию без нажатия при загружке страницы.
generate.addEventListener('click', () => {
const length = lengthEl.value;
const hasLower = lowercaseEl.checked;
const hasUpper = uppercaseEl.checked;
const hasNumber = numbersEl.checked;
const hasSymbol = symbolsEl.checked;
resultEl.value = generatePassword(hasLower, hasUpper, hasNumber, hasSymbol, length);
});
как можно решить это ?
Ответы (1 шт):
Автор решения: yar85
→ Ссылка
При загрузке (готовности) DOM:
document.addEventListener('DOMContentLoaded', () => {
if (document.readyState === 'complete') generate.click();
});
При полной загрузке страницы:
document.addEventListener('readystatechange', () => {
if (document.readyState === 'complete') generate.click();
});
Конечно же, слушатель клика должен быть добавлен до того как возникнет ожидаемое событие.
Кстати, так как слушатели обычно добавляются при готовности DOM - можно сразу их и вызывать (если нужно не ждать полной загрузки страницы, а просто выполнить обработчик как можно раньше, для инициализации):
document.addEventListener('DOMContentLoaded', () => {
/* .... */
const onGenerateClick = () => {
resultEl.value = generatePassword(
lowercaseEl.checked,
uppercaseEl.checked,
numbersEl.checked,
symbolsEl.checked,
lengthEl.value
);
};
generate.addEventListener('click', onGenerateClick);
onGenerateClick();
});