Как при нажатии на body удалить класс?

У меня есть div в котором есть изображение. При нажатии на этот div добавляется класс (класс со стилем переворачивает это изображение на 180deg), и при повторном нажатии на div этот класс удаляется.
Мне нужно чтобы при нажатии вне этого divа класс удалялся
Код:

(function (document) {
    var div = document.getElementById('dropdownMenuButton');
    var icon = document.getElementById('arrow_lang');
    var open = false;

    div.addEventListener('click', function () {
        if (open) {
            icon.className = 'arrow_lang';
        } else {
            icon.className = 'arrow_lang open';
        }

        open = !open;
    });
})(document);


Я пробовала писать так:

(function (document) {
    var div = document.getElementById('dropdownMenuButton');
    var icon = document.getElementById('arrow_lang');
    var open = false;

    div.addEventListener('click', function (e) {
e.preventDefault();
        if (open) {
            icon.className = 'arrow_lang';
        } else {
            icon.className = 'arrow_lang open';
        }

        open = !open;
    });
document.body.addeventlistener('click', function() {
if (open) {
            icon.className = 'arrow_lang';
            open = !open;
}
});
})(document);


Но результата не было. Подскажите мою ошибку
  • Вопрос задан
  • 156 просмотров
Пригласить эксперта
Ответы на вопрос 2
MikeSilence
@MikeSilence
JsNinja
Попробуйте поменять так
document.body.addEventListener -> document.addEventListener
Ответ написан
Morpheus_God
@Morpheus_God
Первое что попалось на глаза это в месте где вы вешаете событие на body у вас идет
document.body.addeventlistener()
а надо
document.body.addEventListener()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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