italia / design-wordpress-theme-italiaWP2

Tema WordPress open-source per la Pubblica Amministrazione basato su Bootstrap Italia
Other
33 stars 19 forks source link

Elementi menu con link # non aprono sottomenu su mobile #32

Closed albertomarini closed 2 years ago

albertomarini commented 2 years ago

Buongiorno, ho un menu con diverse voci rappresentate come link personalizzato #.

Su desktop, cliccando sulle voci si apre il dropdown, mentre su mobile è necessario cliccare sul simbolo a forma di freccetta posto lateralmente a dx di ogni singola voce. Invece, cliccando sulla voce stessa, il menu viene chiuso.

É possibile correggere questo problema? Di fatto, nel caso in cui il link del menu è "#" e l'utente clicca sulla voce del menu tramite dispositivo mobile, si deve aprire automaticamente il sottomenu.

Grazie mille!

unixforce commented 2 years ago

Salve, ho trovato la soluzione a tale problematica. Indico qui la soluzione e magari chi gestisce il repository di verificare la mia soluzione e in caso committarla per aggiornare il tema se lo reputasse necessario.

Il problema sta nel file static/js/tema.js nella gestione eventi onlick() per gli elementi aventi tag "a" con classe "cbp-spmenu", ho riportato lo stesso codice funzionante per la freccetta anche per per tale tag (eccetto il "return false" finale, altrimenti il link non funzionerebbe):

=== CODICE ===

// Close menu on clicking menu link
        if (o.closeOnClickLink) {
            $('.cbp-spmenu a').on('click', function () {
                if ($(this).hasClass('preventclick')) {
                    return;
                }

                // @modifica : === FIX MENU MOBILE LINK ===
                var node = $(this).is('a') ? $(this) : $(this).closest('a');

                        /* Clear all open and not nested element  */
                        if (!$(this).closest('li.open').length) {
                            $('.navmenu ul').slideUp(300);
                            $('.navmenu li').removeClass('open');
                        }

                        if (node.siblings('ul').is(':visible')) {
                            node.siblings('ul').slideUp(300);
                            node.parent().removeClass('open');
                        } else {
                            node.siblings('ul').slideDown(300);
                            node.parent().addClass('open');
                        }
        // @modifica : === FINE FIX MENU MOBILE LINK ===

                // @modifica fix voce menu con sottovoci figli che non si apre su mobile !
                // jPushMenu.close(o);
            });
        }

=== CODICE ===

Saluti

albertomarini commented 2 years ago

Grazie mille @unixforce. Rimaniamo, quindi, in attesa di un'eventuale commit da parte del gestore del repository.

unixforce commented 2 years ago

Prego @albertomarini, chiedo anche a voi di verificare tale codice per favore.

_Rimaniamo, quindi, in attesa di un'eventuale commit da parte del gestore del repository.__

Esattamente.

Saluti

albertomarini commented 2 years ago

chiedo anche a voi di verificare tale codice per favore.

Confermo il corretto funzionamento. Grazie

borisamico commented 2 years ago

Suggerimenti recepiti con la versione 1.5.3 del tema.