SlavaMaxwell
@SlavaMaxwell
Frontend разработчик

Как обрабатывать клик на одном элементе только после клика по другому?

Как прописать такое условие на клик, проверить, что сначала клик был на кнопку с классом js-btn1, затем проверить на то, что после этого клика был совершен клик на js-btn2 и только потом выполнить код?
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
let isBtn1Clicked = false;

button1.addEventListener('click', () => isBtn1Clicked = true);
button2.addEventListener('click', () => {
  if (isBtn1Clicked) {
    // ...
  }
});

или

button1.addEventListener('click', e => e.target.classList.add('clicked'));
button2.addEventListener('click', () => {
  if (button1.classList.contains('clicked')) {
    // ...
  }
});

или

button2.disabled = true;

button1.addEventListener('click', () => button2.disabled = false);
button2.addEventListener('click', () => {
  // ...
});

или

button2.hidden = true;

button1.addEventListener('click', () => button2.hidden = false);
button2.addEventListener('click', () => {
  // ...
});

или

button1.addEventListener('click', () => {
  button2.addEventListener('click', () => {
    // ...
  });
}, { once: true });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы