Pregunta

Mi problema: después de cargar algún elemento a través de ajax, ato alguna función de clic, pero cuando el usuario cargue varias veces ese mismo elemento, se repetirá la acción enlazada (no reemplazará, al menos así parece). Intenté unbind o click(function(){return false;}); pero eso completa eliminar la acción clic del elemento ...). ¿Cuál es la solución estándar de ese tipo de problema?

¿Fue útil?

Solución

Para la mayoría de los eventos, puede usar live() (jQuery 1.3 +):

$("td").live("click", function() {
  // do stuff
});

Esto vinculará un evento de clic a <td> elementos que aparecen después de que ejecute este código también.

Esta es una solución mucho más limpia que intentar vincular / desvincular y garantizar que no tenga el mismo evento vinculado dos veces a un elemento en particular.

Otros consejos

si está usando jQuery 1.3.2, puede usar $('').live('click', function() {}); para que cualquier elemento que coincida con ese selector tenga la acción. Mantiene el evento incluso con nuevos elementos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top