2010-04-13 19 views
13

Sto caricando il contenuto in una pagina con ajax che avrà eventi di clic in tempo reale collegati ad essi. Sembra che la prima volta che carico questo contenuto tutto funzioni come previsto. Se lo carico nuovamente, gli eventi si attivano due volte (quando si inseriscono punti di interruzione nel codice). Che cosa sto facendo di sbagliato? C'è un modo per cancellare la dom di questi elementi prima che vengano caricati di nuovo?jquery evento live viene eseguito due volte

+6

mia sfera di cristallo non è disponibile in questo momento, forse si può pubblicare il tuo codice? –

risposta

32

Credo che si sta chiamando .live() sugli stessi elementi ancora e ancora. usa .die() su quegli elementi prima di chiamare .live().

+0

Ok, farò un tentativo e vedrò come funziona. – Victor

22

ho risolto in questo modo:

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

appena confermato. Stavo usando .live() e ho sperimentato prima .unbind().

finale:

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

}); 
0

Se si utilizza sul metodo, invece di vivere. ALLORA

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

Problemi correlati