Ho la seguente struttura.jquery nidificato li click chiamate di eventi più volte
<ul id="browser" class="filetree">
<li><span class="folder">Folder 1</span>
<ul>
<li><span class="file">Item 1.1</span></li>
</ul>
</li>
<li><span class="folder">Folder 2</span>
<ul>
<li><span class="folder">Subfolder 2.1</span>
<ul id="folder21">
<li><span class="file">File 2.1.1</span></li>
<li><span class="file">File 2.1.2</span></li>
</ul>
</li>
<li><span class="file">File 2.2</span></li>
</ul>
</li>
<li class="closed"><span class="folder">Folder 3 (closed at start)</span>
<ul>
<li><span class="file">File 3.1</span></li>
</ul>
</li>
<li><span class="file">File 4</span></li>
</ul>
In js Ho la seguente funzione.
$("#browser li").click(function(){
});
Quando ho fatto clic su li File 2.1.1. La funzione chiama 3 volte
prima volta per Li File 2.1.1, la seconda volta per Li sottocartella 2.1 e una terza volta per cartelle li 2.
Qualcuno mi può dare la soluzione per chiamare la funzione esattamente una volta?
Il tuo aiuto è molto apprezzato. Grazie.
tua corretta in quanto #browser> Li è figlio diretto di #browser ma ciò significherebbe qualsiasi #browser> li> li andrei essere chiamati? – AbstractChaos
@AbstractChaos esattamente, ma tutti gli altri 'li' sono all'interno di un elemento diretto di' # browser' – Neal
ma se, ad esempio, l'OP fa clic su file.2.1.1 che è $ browser> li> li> li quindi non sparerebbe ?, lo prenderai alla bolla in alto, credo. dipende dai requisiti di utilità di quello – AbstractChaos