Foros del Web » Programando para Internet » Jquery »

problemas con jquery.on("click") en un <li>

Estas en el tema de problemas con jquery.on("click") en un <li> en el foro de Jquery en Foros del Web. Estimados que tal buen dia. tengo la siguiente estructura de un arbol creado con <li> y <ul>: Arbol ---carpeta1 ------subcarpeta1 ---------elemento1 ---------elemento2 subcarpeta1 carpera2 ------subcarpeta1 ...
  #1 (permalink)  
Antiguo 21/10/2012, 21:13
 
Fecha de Ingreso: octubre-2012
Ubicación: Santiago, Chile
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Pregunta problemas con jquery.on("click") en un <li>

Estimados que tal buen dia.

tengo la siguiente estructura de un arbol creado con <li> y <ul>:

Arbol
---carpeta1
------subcarpeta1
---------elemento1
---------elemento2
subcarpeta1
carpera2
------subcarpeta1

los elementos1 y elemento2 estan dentro de un div, este contenido corresponden a un codigo html que lo cargo con jquery-ajax, y se carga al hacer un click sobre el <li> de la subcarpeta1, usando la siguiente funcion:


Código:
$(document).ready(function () {
	    $('.contenedor').on("click", function () {
	        var sParametros = $(this).attr("id");
	        var aParametros = sParametros.split("®");
	        if ($('#contenedor' + sParametros).html() == "") {
	            $('.contenedor').empty();
	            $.post('../Cuenta/AsignaCuentasInforme', { idInforme: aParametros[0], idInformeGrupo: aParametros[1] }
	                , function (data) {
	                    //Chequear opcionalmente el tamaño de la respuesta:
	                    if (data.length > 0) {
	                        $('#contenedor' + sParametros).html(data);
	                    }
	                }
	            );
	        } else { $('#contenedor' + sParametros).empty(); }
	    });
	});
el problema es que al hacer un click sobre el contenido cargado de se vuelve a ejecutar esta funcion por ende se vuelve a cargar el contenido por jquery

como puedo resolver este problema?

muchas gracias.
  #2 (permalink)  
Antiguo 22/10/2012, 04:39
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 9 meses
Puntos: 57
Mensaje Respuesta: problemas con jquery.on("click") en un <li>

Hola mainernunez, que tal.

Cita:
Iniciado por mainernunez Ver Mensaje
el problema es que al hacer un click sobre el contenido cargado de se vuelve a ejecutar esta funcion por ende se vuelve a cargar el contenido por jquery

como puedo resolver este problema?

muchas gracias.
Tienes un problema con la asignación de eventos. Para dar con el problema y brindarte una solución acertada necesito ver el HTML de la estructura árbol que citas:
Cita:
Iniciado por mainernunez Ver Mensaje
Arbol
---carpeta1
------subcarpeta1
---------elemento1
---------elemento2
subcarpeta1
carpera2
------subcarpeta1
  #3 (permalink)  
Antiguo 22/10/2012, 07:44
 
Fecha de Ingreso: octubre-2012
Ubicación: Santiago, Chile
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Respuesta: problemas con jquery.on("click") en un <li>

Hola la estructura del arbol es la siguiente

Arbol
---carpeta1
------subcarpeta1
---------elemento1
---------elemento2
subcarpeta1
carpera2
------subcarpeta1

y su respectivo codigo html el siguiente

Código:
<ul id="browser" class="filetree treeview-famfamfam treeview">
		<li class="collapsable lastCollapsable"><div class="hitarea collapsable-hitarea lastCollapsable-hitarea"></div><span class="folder">Folder 1</span>
			<ul>
				<li class="grupo-contenedor collapsable"><div class="hitarea collapsable-hitarea"></div><span class="folder">Item 1.1</span>
					<ul style="display: block; ">
						<li class="last">
							<div id="contenedorgeneral" class="div-contenedorgeneral">
							        <select class="slc-contenedor" id="ContenedorOrigen" multiple="multiple" name="ContenedorOrigen" size="15">
							            <option value="elemto1"></option>
							            <option value="elemto2"></option>
							            <option value="elemto3"></option>
							        </select>
							</div>						
						</li>
					</ul>
				</li>
			</ul>
		</li>
</ul>
yo tengo una funcion ().click que se ejecuta al hacer click en el <LI> "grupo-contenedor" que se encarga de cargar por Juery (ajax) el contenido del <DIV> "contenedorgeneral"... el tema es que haciando de este modo, si hago click dentro del <DIV>, (que a la ves esta dentro del <LI>) se vuelve a ejecutar la funcion ().click del <LI>, necesito que cuando se haga click dentro del <DIV> no se sejecuta la funcion del <LI>

Etiquetas: jquery.on(), treeview
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:48.