Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.06.2020, 00:50
Интересующийся
Отправить личное сообщение для GostWalk Посмотреть профиль Найти все сообщения от GostWalk
 
Регистрация: 17.10.2018
Сообщений: 12

не отображать при клике на неактивную область
В наличии код

function t(e) {
    var n = document.querySelector(".js_toggle-menu"),
        i = document.querySelector(".js_menu-content"),
        p = document.querySelector(".search__trigger"),
        s = document.querySelector(".search__form");
    if (n && i) {
        var o = "true" === n.dataset.open;
        n.onclick = function() {
            t(!0)
        }, e && (o ? (n.dataset.open = "false", i.style.visibility = "hidden") : (p.dataset.open = "false", s.classList.remove("open"), n.dataset.open = "true", i.style.visibility = "visible"))
    }
}

Гамбургер меню открывает и закрыватся по клику на тригер, подскажите как добавить закрытие всплывашки по клику вне активной области?
(не на js_menu_content)

Подскажите пожалуйста, как реализовать?
Ответить с цитированием
  #2 (permalink)  
Старый 02.06.2020, 08:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

GostWalk,
document.addEventListener('click', ({target}) => {
var n = document.querySelector(".js_toggle-menu");
if(n.dataset.open == "false") return;
if(!target.closest('.js_toggle-menu, .js_menu-content, .search__trigger, .search__form')){
n.click()
}
});
Ответить с цитированием
  #3 (permalink)  
Старый 02.06.2020, 14:32
Интересующийся
Отправить личное сообщение для GostWalk Посмотреть профиль Найти все сообщения от GostWalk
 
Регистрация: 17.10.2018
Сообщений: 12

Сообщение от рони Посмотреть сообщение
GostWalk,
document.addEventListener('click', ({target}) => {
var n = document.querySelector(".js_toggle-menu");
if(n.dataset.open == "false") return;
if(!target.closest('.js_toggle-menu, .js_menu-content, .search__trigger, .search__form')){
n.click()
}
});

спасибо, работает
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
При клике появлялся новый элемент (бесконечно) Eadweard Элементы интерфейса 3 16.02.2016 08:13
При клике на кнопку переход к якорю и открытие блока Galyanov Элементы интерфейса 19 11.12.2015 21:12
Исчезновение меню при клике на ссылку wiserfild Элементы интерфейса 4 24.10.2015 19:50
Изменение размера элемента при клике Derekovich Элементы интерфейса 25 05.12.2013 20:45