#javascript #function #addeventlistener #event-loop
#javascript #функция #addeventlistener #цикл событий
Вопрос:
Может кто-нибудь, пожалуйста, объяснить, как он работает, я бы не стал излагать это так, но это ответило бы на множество вопросов о том, над чем я работаю. Я вызвал функцию только один раз, но EventListener остается постоянным, даже когда функция завершила выполнение. Есть ли причина для этого?
const btn = document.querySelector('button');
function test() {
btn.addEventListener('click', showAlert);
}
function showAlert() {
alert("yes");
}
test();
Комментарии:
1. Я думаю, вопрос в том, почему вы ожидаете, что он удалит прослушиватель событий, когда функция завершится? Все работало бы не очень хорошо, если бы прослушиватели событий длились всего миллисекунду или две во время выполнения функции.
2. Поскольку прослушиватель был зарегистрирован, не имеет значения, кто его вызвал (был ли он вызван в глобальной области или в области какой-либо другой функции)
3. отметьте, да, это имеет смысл, мое заблуждение заключалось в том, что прослушиватели событий обычно являются внешними функциями, поэтому к ним можно получить доступ без необходимости вызова функции, наивно от меня, я думаю, спасибо
4.
const btn = document.querySelector('button'); btn.addEventListener('click', showAlert); btn.click()
возможно, это легче понять?