Как программно щелкнуть кнопку меню mdl-layout--fixed-header

У меня есть кнопка, которой я хочу открыть mdl-layout__drawer. Например, см. официальный пример здесь и обратите внимание на значок меню открывает ящик при нажатии.

У меня есть кнопка, при нажатии которой я хочу, чтобы ящик открывался. Я пробовал оба селектора jQuery ниже с помощью метода jQuery.click(). Ничего не работает - только мерцание экрана. Любые идеи?

$(".mdl-layout__drawer-button").click();
$(".material-icons:contains('menu')").click();

person Ronnie Royston    schedule 22.09.2015    source источник
comment
Есть ли шанс, что вы могли бы поделиться кодом, где видна проблема? Есть ряд вещей, которые могут пойти не так, поэтому трудно сказать, не глядя на дополнительный код.   -  person Sérgio Gomes    schedule 22.09.2015
comment
Codepen здесь Мммм... ну, это работает на Codepen! Хм...   -  person Ronnie Royston    schedule 22.09.2015
comment
В этом случае может возникнуть проблема с загрузкой jQuery. К сожалению, я не эксперт в этом, поэтому не думаю, что смогу помочь без неудачного примера :-/   -  person Sérgio Gomes    schedule 23.09.2015


Ответы (2)


Убедитесь, что ваш код находится внутри $(document).on('pageinit') и вы используете правильный селектор для обнаружения нажатия кнопки, как в примере ниже:

$(document).on('pageinit', function() {
        $("#idOfTheButton").click(function() {
            $(".mdl-layout__drawer-button").click();
    }); 
});
person Atahan Acar    schedule 02.10.2015

Не нужно нажимать кнопку меню, переключайте видимость боковой панели с помощью API материалов document.querySelector('.mdl-layout').MaterialLayout.toggleDrawer();

person Ivan Proskuryakov    schedule 23.02.2018