jQuery: ¿no se pueden vincular eventos a elementos dinámicos?
He venido a mantener una pieza de javascript que descarga algunos datos JSON del servidor, construye una nueva fila de tabla (como$('<tr></tr')
) y lo inserta en el documento.
losa
El nodo es, en un punto creado así:
var a = $('<a class="foo" href="#"></a>');
y luego, un evento está ligado a esto así:
a.click(function () {
// yadda yadda
return false;
});
El único problema es que esto no parece funcionar. Tampoco la unión a través deon()
o en desusolive()
. El controlador simplemente se "ignora", nunca se dispara y la página se desplaza a la parte superior (debido a lahref="#"
). Al vincular el evento, el elemento ya estáappend
Ed a DOM. Cualquier ayuda sería muy apreciada.
Alguna información contextual que viene a la mente: el elemento se crea dentro de un bucle que recorre los datos, pero eso no debería ser un problema a menos que JavaScript tenga algo de información.De Verdad cosas raras pasando con el alcance, mástodo lo demas Intento con el trabajo de elementos: puedo cambiar su contenido, su estilo, solo el enlace de eventos no funciona. Y, por supuesto, la versión jQuery, que es1.8.3.