2010-04-13 31 views
13

Estoy cargando contenido en una página con ajax que tendrá eventos de clic en vivo unidos a ellos. Parece que la primera vez que carga este contenido todo funciona como se esperaba. Si vuelvo a cargar esto, los eventos se disparan dos veces (cuando ponen puntos de interrupción en el código). ¿Qué estoy haciendo mal? ¿Hay alguna manera de borrar el dom de estos elementos antes de que se carguen nuevamente?jquery live event se ejecuta dos veces

+6

Mi bola de cristal no está disponible en este momento, ¿quizás puede publicar su código? –

Respuesta

32

Supongo que está llamando al .live() en los mismos elementos una y otra vez. use .die() en esos elementos antes de llamar al .live().

+0

Bien, lo intentaré y veré cómo funciona. – Victor

22

me fijo como esto:

$('selector').die('click').live('click', function() { 
    // Do stuff here 
}); 
2

acaba de confirmar. Estaba usando .live() y experimenté con .unbind() primero.

definitiva:

$(".clickedClass").die("click").live("click", function() { 

}); 
0

Si está utilizando en el método en lugar de en vivo. ENTONCES

jQuery ('body'). Unbind(). On ('submit', 'form.make_commitment_form', function (e) {....});

Cuestiones relacionadas