Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] no detecta onscroll en elemento añadido dinamicamente

Estas en el tema de no detecta onscroll en elemento añadido dinamicamente en el foro de Jquery en Foros del Web. Hola, Necesito añadir dinamicamente un div #contenedor_scrolable a un div contenedor #b Todo va bien pero al intentar detectar si se hace scroll sobre el ...
  #1 (permalink)  
Antiguo 23/12/2015, 16:12
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 10 años, 11 meses
Puntos: 10
no detecta onscroll en elemento añadido dinamicamente

Hola,

Necesito añadir dinamicamente un div #contenedor_scrolable a un div contenedor #b

Todo va bien pero al intentar detectar si se hace scroll sobre el #contenedor_scrolable no puedo.

he intentado:

Código Javascript:
Ver original
  1. $('#contenedor_scrolable').scroll(function(){
  2.         console.log('scroll moviendose');
  3.     });
  4.  
  5.     $('#contenedor_scrolable').on('scroll',function(){
  6.         console.log('scroll moviendose');
  7.     });
  8.  
  9.     $(document).on('scroll','#contenedor_scrolable',function(){
  10.         console.log('scroll moviendose');
  11.     });

y ninguno no funciona

pero para el click si funciona si pongo:
Código Javascript:
Ver original
  1. $(document).on('click','#contenedor_scrolable',function(){
  2.         console.log('el evento click funciona pero el scroll NO');
  3.     });

he puesto el ejemplo en un fiddle https://jsfiddle.net/matake/4d818n86/

¿Alguna ideea como resolverlo?

Gracias
  #2 (permalink)  
Antiguo 23/12/2015, 23:57
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: no detecta onscroll en elemento añadido dinamicamente

No puedes delegar dicho evento pues no produce el bubbling que otros eventos generan. En otras palabras, aunque el evento ocurra en el elemento hijo añadido de forma dinámica, nunca informará al nivel superior que eso ha ocurrido. Y tampoco podrías hacerlo de forma directa puesto que es un elemento creado dinámicamente.

Lo que tendrías que hacer es anidar métodos:
Código Javascript:
Ver original
  1. $("elemento creado dinámicamente").método1().método2().métodoN();

Teniendo en cuenta que los métodos deben ser encadenables.

DEMO

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 24/12/2015, 02:03
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 10 años, 11 meses
Puntos: 10
Respuesta: no detecta onscroll en elemento añadido dinamicamente

Gracias Alexis88 ... me has quitado un gran susto de encima ya que el proyecto en que estoy trabajando se esta basando en que todas las paginas se generan dinamicamente y el problema me estaba jodiendo todo.

Saludos

Etiquetas: detecta, dinamicamente, elemento
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 21:47.