Comunidad de diseño web y desarrollo en internet online

Refrescar DOM despues de insertar elementos desde jQuery

Citar            
MensajeEscrito el 02 Feb 2013 01:56 am
Hola, tengo un problema y no se como resolvero.
Inserto elementos en el DOM mediante jQuery.
Por ejemplo:

Código Javascript :

$("#contenido").append('<input id="'+dataJson[i].id_tarea+'" name="'+dataJson[i].id_tarea+'" type="checkbox">...");

Luego para que se refresque el DOM utilizo:

Código Javascript :

$("#contenido").trigger('create');


De esta forma se visualiza el contenido de la página dinámicamente.
El caso es que utilizo la librería Hammer.js para detectar el evento "hold" (mantener pulsado durante medio segundo), y solo me funciona para los elementos que tengo cargados desde el inicio, y no en los elementos que cargo directamente mediante jQuery.

Código Javascript :

$(document).ready(function(e) {
    $("input").on("hold", function (e){
        alert($(this).attr("id"));
    });
});

¿Alguien sabe como hacer que este evento "hold" se refresque para que tenga en cuenta los nuevos elementos del DOM cargados dinámicamente?

Gracias de antemano.

Por 2plu

30 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Feb 2013 12:25 pm
Asignales el evento después de insertarlo...

Código Javascript :

$('#'+dataJson[i].id_tarea).on("hold", function (e){
        alert($(this).attr("id"));
    });


Saludos!

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox
Citar            
MensajeEscrito el 05 Feb 2013 12:16 am
Gracias por responder, per tampoco funciona de esa manera. He estado leyendo la documentacion de jQueryMobile (http://jquerymobile.com/test/docs/api/events.html) y dicen que hay que usar $(document).on('pageinit') en vez de $(document).ready() pero tampoco funciona.

Si inserto inputs directamente en el DOM si que funciona, pero los input que cargo dinamicamente con Ajax no me funciona el evento hold

Por 2plu

30 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Feb 2013 12:22 pm
Estas usando algún debugger para ver que pasa?

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox
Citar            
MensajeEscrito el 06 Feb 2013 11:37 am
La verdad es que no. ¿Que consejo me das para localizar el problema? ¿Como uso un debugger?

Por 2plu

30 de clabLevel



 

chrome
Citar            
MensajeEscrito el 06 Feb 2013 12:53 pm
Firebug para Firefox o Dragonfly para Opera...

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox
Citar            
MensajeEscrito el 07 Feb 2013 08:52 am
No encuentro ningún error. El caso es que si uso $("elemento").on("click", function .... si que me funciona incluso después de haber cargado dinámicamente el contenido. Pero si uso "hold" o "taphold" en vez de "click", solo me funciona con el contenido cargado inicialmente sin ajax.
No lo entiendo

Por 2plu

30 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.