/ / Wordpress facendo clic sul sottomenu chiude il sottomenu corrente: javascript, jquery, html, css, wordpress

Wordpress facendo clic sul sottomenu chiude il sottomenu corrente: javascript, jquery, html, css, wordpress

Ho il seguente javascript che uso per amenu mobile che funziona bene ma quando si fa clic su un sottomenu con un altro sottomenu non chiude solo quel sottomenu, ma chiude anche il sottomenu genitore. Spero che abbia un senso. Qualche idea su come ottenere di chiudere solo quel sottomenu e non il sottomenu genitore?

jQuery(".mobile-menu .sub-menu").hide();
jQuery(document).ready(function () {
jQuery(".mobile-menu .sub-menu").parent().find("a:first").removeAttr("href").css("cursor","default");

if (jQuery(".mobile-menu .menu-item-has-children").length > 0) {
jQuery(".mobile-menu .menu-item-has-children").click(
function (event) {
jQuery(this).addClass("toggled")
if (jQuery(this).hasClass("toggled")) {
jQuery(this).children("ul").toggle();
}
});
}
});

risposte:

1 per risposta № 1

La mia ipotesi guardando da qui è che hai bisogno event.stopPropagation() come in:

jQuery(".mobile-menu .sub-menu").hide();
jQuery(document).ready(function () {
jQuery(".mobile-menu .sub-menu").parent().find("a:first").removeAttr("href").css("cursor","default");

if (jQuery(".mobile-menu .menu-item-has-children").length > 0) {
jQuery(".mobile-menu .menu-item-has-children").click(
function (event) {
event.stopPropagation();
jQuery(this).addClass("toggled")
if (jQuery(this).hasClass("toggled")) {
jQuery(this).children("ul").toggle();
}
});
}
});

* Aggiornare * Immagino sia uno di quei giorni per me. Dopo che ho risposto a questo (e grazie per i punti, btw), nella parte posteriore della mia mente ricordo che c'erano raccomandazioni che fermano la propagazione funziona, ma si dovrebbe fare attenzione quando lo si utilizza. Mi ci è voluto un po 'a Google-fu per far risorgere quale fosse il problema. E 'abbastanza bene dichiarato in Questo articolo, ma il TL; DR è che potrebbe avere effetti collaterali indesiderati. Questa voce su jQuery Fundamentals ha alcune altre idee. Se funziona per te, fantastico, ma potresti volerlo mettere nella parte posteriore della tua mente per ogni evenienza.