Первая программа: "Не надо стеснятся" [11/25] не могу пройти

пожалуйста помогите с программой, почитал теорию, не знаю с чего начать, можете скинуть готовы коды для изучения?

Смотрите. Спрашивайте.
var popup = document.querySelector(’.popup’);
var openPopupButton = document.querySelector(’.button-show’);
var closePopupButton = popup.querySelector(’.button-hide’);

openPopupButton.addEventListener(‘click’, function (evt) {
evt.preventDefault();
popup.classList.add(‘popup–open’);
});

closePopupButton.addEventListener(‘click’, function () {

popup.classList.remove(‘popup–open’);
});

document.addEventListener(‘keydown’, function (evt) {

if (evt.keyCode === 27) {
popup.classList.remove(‘popup–open’);
}

})

опять-же, трудновато, вставил код, протестировал, 3 правильных из 5, неверно работает :frowning:

Другие варианты у вас есть?

Друзья, подскажите, в чём дело, вышеописанное решение соответствует учебному видео, но не решает все задачи?

‘popup–open’ - тут двойной дефис, и везде кавычки одинарные.

Решение на 100%

var popup = document.querySelector(’.popup’);
var openPopupButton = document.querySelector(’.button-show’);
var closePopupButton = popup.querySelector(’.button-hide’);

openPopupButton.addEventListener(‘click’, function (evt) {
evt.preventDefault();
popup.classList.add(‘popup–open’);
});

closePopupButton.addEventListener(‘click’, function () {
popup.classList.remove(‘popup–open’);
});

document.addEventListener(‘keydown’, function (evt) {
if (evt.keyCode === 27) {
popup.classList.remove(‘popup–open’);
}
}
)

Низкий вам поклон! )

Решил немного поизвращаться над этим заданием, не для проверки в консоли.
Теперь окно закрывается не только с помощью ESC, а ещё при клике на любое место вне окна и при нажатии на крестик. Если кликнуть на само окно, то оно не закроется.
Может вышло немного коряво, хотелось бы послушать мнение на предмет ошибок и вообще лаконичности написания данного кода.

Код

let show = document.querySelector(’.card__button’);
let close_w = document.querySelector(’.button-hide’);
let popup = document.querySelector(’.popup’);
let popup_cont = document.querySelector(’.popup_content’);

    function toggleMenu() {
       popup.classList.toggle('popup--open');
    }

    show.addEventListener('click', function (e) {
        e.preventDefault();
        toggleMenu();
    })

    close_w.addEventListener('click', function () {
        toggleMenu();
    })

    document.addEventListener('click', function (e) {
        let target = e.target;
        let window_p = target == popup || popup.contains(target);
        let window_p_active = popup.classList.contains('popup--open')
        if (target.closest('.popup__content')) {
            e.preventDefault();
        } else if (window_p && window_p_active) {
            toggleMenu();
        }
    })

    document.addEventListener('keydown', function (e) {
        if (e.keyCode == 27) {
            popup.classList.remove('popup--open');
        }
    })
let popup = document.querySelector('.popup')
let openPopupButton = document.querySelector('.button-show')
let closePopupButton = popup.querySelector('.button-hide')

openPopupButton.addEventListener('click', function (evt) {
  evt.preventDefault()
  popup.classList.add('popup--open')
  })
  
closePopupButton.addEventListener('click', function () {
  popup.classList.remove('popup--open')
  })
  
document.addEventListener('keydown', function (evt) {
  if(evt.keyCode === 27) {
    popup.classList.remove('popup--open')
    }
  })