Tengo la siguiente estructura.jquery nested llamadas de evento li clic varias veces
<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>
En js tengo la siguiente función.
$("#browser li").click(function(){
});
Cuando hice clic en li File 2.1.1. La función llama 3 veces
primera vez para li Archivo 2.1.1, segunda vez para subcarpeta li 2,1 y una tercera vez para Carpeta li 2.
Puede alguien darme la solución a llamar a la función exactamente una vez?
Su ayuda ha sido solicitada en gran medida. Gracias.
su razón en que #browser> li es hijo directo de #browser pero eso significaría cualquier #browser> li> li wouldnt ser llamados? – AbstractChaos
@AbstractChaos exactamente, pero todos esos otros 'li' están dentro de un hijo directo de' # browser' – Neal
pero luego si, por ejemplo, el OP hace clic en file.2.1.1 que es $ browser> li> li> li entonces, ¿no dispararía ?, lo atraparás en la burbuja aunque supongo. Depende de los requisitos para la utilidad de ese – AbstractChaos