Как сделать срабатывание скрипта через раз при нажатии на кнопку
Как сделать, что-бы при нажатии на кнопку скрипт срабатывал через раз?
document.getElementById('yourId').onclick = function() {
alert('Неверный код');
}
<button id="yourId"><span>Подтвердить код</span></button>
Ответы (1 шт):
Автор решения: Seyves
→ Ссылка
Можно сделать подобное просто через внешнюю переменную:
let oddFlag = true
function oddHandler(){
if (oddFlag) alert('Неверный код')
oddFlag = !oddFlag
}
document.getElementById('yourId').onclick = oddHandler
<button id="yourId"><span>Подтвердить код</span></button>
Но вообще, есть решение поэлегантнее - через замыкание. Но, в таком случае нужно присвоить ВЫЗОВ функции:
function createOddHandler(){
let oddFlag = true
return () => {
if (oddFlag) alert('Неверный код')
oddFlag = !oddFlag
}
}
document.getElementById('yourId').onclick = createOddHandler()
<button id="yourId"><span>Подтвердить код</span></button>