Ciao amici,
in un precedente thread avevo posto una domanda a proposito dei selettori di classe che pareva non funzionassero.
Alla fine ho semplicemente delegato l'evento click, senza usare il metodo ONE:
Ora ho un altro problema.codice:jQuery('ul').on('click', '> li.klass', function() { ...
Dunque, il mio menu, che è multilivello, è una cosa di questo tipo:
Succede che all'apertura di un LI di primo livello il comportamento sia quello che mi aspetto, cioè che l'elemento su cui faccio click sia il UL principale e l'elemento delegato sia il LI sotto il mio puntatore del mouse.codice:<ul id="ul1"> <li id="li1" class="klass"> <ul id="ul2"> <li id="li2"class="klass"> <ul> <li class="klass"></li> <li class="klass"> <ul> <li class="klass"></li> </ul> </li> </ul> </li> <li class="klass"></li> </ul> </li> <li class="klass"> <ul> <li class="klass"></li> <li class="klass"></li> </ul> </li> </ul>
Ma cosa succede se clicco un LI di secondo livello? L'elemento su cui agisce jQuery, basandosi sull'istruzione che ho scritto in alto, è ancora il UL di primo livello.
Cioè, se clicco su li1 il UL padre che viene correttamente considerato è ul1; ma se clicco su li2 vorrei che il UL corrispondente fosse ul2, invece è sempre ul1.
Come risolvo?

Rispondi quotando