@Alex_vs_Predator
Начинающий веб-разработчик

Как можно сократить дублирующийся код в JS?

Как можно сократить дублирующийся код в JS?
У меня есть 3 модальных окна и разница между ними, это только переменные..

Вот сам код
  • Вопрос задан
  • 198 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
можно

могу даже показать как - если исправите свой вопрос так, чтобы он правила перестал нарушать

UPD.

function addClickListeners(buttonsSelector, dialogSelector) {
  const buttons = document.querySelectorAll(buttonsSelector);
  const dialog = document.querySelector(dialogSelector);

  buttons.forEach(n => n.addEventListener('click', e => {
    e.preventDefault();
    dialog.style.display = 'block';
  }));

  dialog.addEventListener('click', ({ target }) => {
    if (target.classList.contains('popup-close')) {
      document.getElementById('name_1').setAttribute('disabled', true);
      document.getElementById('phone_1').setAttribute('disabled', true);
      dialog.style.display = 'none';
    } else {
      if (!target.closest('.popup-content')) {
        dialog.style.display = 'none';
      }
    }
  });
}

addClickListeners('header .contacts a', '.popup-call');
addClickListeners('.sentence-btn', '.popup-discount');
addClickListeners('.check-btn', '.popup-check');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы