Я не знаю, как сломаться или вернуться из addEventListener
Здесь я получаю сообщение об ошибке «Неопределенная метка 'testfunc'»
testfunc:
test.addEventListener("click", function(){
console.log("TEST")
break testfunc
})
Здесь я получаю «ТЕСТ» каждый раз, когда я нажимаю, но я хочу, чтобы это было только для console.log («ТЕСТ») только один раз
function testfunc(){
test.addEventListener("click", function(){
console.log("TEST")
return
})
}
2 ответа
Вы можете создать какую-то переменную и поставить там флаг (true/false), например:
let isClicked = false;
function testfunc(){
test.addEventListener("click", function(){
if (isClicked) return;
console.log("TEST")
isClicked = true
})
}
Вы не можете вернуть testfunc
из события в вашем слушателе, так как ваша анонимная функция слушателя будет выполняться в событии click
после выполнения testfunc
.
Что вы можете сделать, так это предотвратить повторное выполнение вашей анонимной функции прослушивателя событий. Для этого напишите условие с переменной, которая после однократного выполнения будет установлена в true
.
let isClicked = false;
function testFunc(){
document.addEventListener("click", function(){
if (isClicked) return;
// Will be executed once.
console.log("TEST");
isClicked = true;
})
}
testFunc();
Похожие вопросы
Связанные вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.
addEventListener
не является циклом. Вам нужно вызватьremoveEventListener
, чтобы он больше не вызывался.