Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Раскрытие мобильного подменю по клику (https://javascript.ru/forum/jquery/77258-raskrytie-mobilnogo-podmenyu-po-kliku.html)

maxg5 11.04.2019 13:40

Раскрытие мобильного подменю по клику
 
На сайте https://stroy-dok.com в мобильной версии сайта есть меню с подразделами. Открытие подразделов происходит по клику на стрелочку(см. скриншот)

Нужно сделать что бы подменю открывалось не только по клику на стрелочку но и по названию меню, т.е. по надписи Рабочие специальности.

За это отвечает как я понял этот код:
function initMainNavigation(container) {
        var dropdownToggle = $('<button />', {
            'class': 'dropdown-toggle',
            'aria-expanded': false
        }).append($('<span />', {
            'class': 'screen-reader-text',
            text: screenReaderText.expand
        }));
        container.find('.menu-item-has-children > a').after(dropdownToggle);
        container.find('.current-menu-ancestor > button').addClass('toggled-on');
        container.find('.current-menu-ancestor > .sub-menu').addClass('toggled-on');
        container.find('.menu-item-has-children').attr('aria-haspopup', 'true');
        container.find('.dropdown-toggle').click(function(e) {
            var _this = $(this),
                screenReaderSpan = _this.find('.screen-reader-text');
            e.preventDefault();
            _this.toggleClass('toggled-on');
            _this.next('.children, .sub-menu').toggleClass('toggled-on');
            _this.attr('aria-expanded', _this.attr('aria-expanded') === 'false' ? 'true' : 'false');
            screenReaderSpan.text(screenReaderSpan.text() === screenReaderText.expand ? screenReaderText.collapse : screenReaderText.expand);
        });

username 12.04.2019 19:52

за обработку события "клик" отвечает метод click, который не трудно увидеть в коде

в данном случае он применён к элементам с классом .dropdown-toggle
в том числе этот класс есть у элемента button (кнопка-стрелка)

перед элементом button есть элемент a, который выводит текст "рабочие специальности"

варианта 2:
либо эти два элемента поместить в один и сделать к нему обработчик click
либо задать новый класс к элементу "a", например dropdown-link и написать click обработчик для этого случая


Часовой пояс GMT +3, время: 02:01.