2013-04-23 16 views
5

Se io attribuisco un gestore di eventi utilizzando .ajaxStop come questo:Rimuovere gestore di eventi utilizzato da .ajaxStop

$(document).ajaxStop(function() { 
    //Some code 
}); 

Come faccio a rimuovere quel gestore di eventi?

+0

può essere '.off()' o '.unbind()' aiuterà –

+0

e quale sarebbe il codice esatto da utilizzare in questo caso ?? –

+0

vedi che hai una risposta per quello –

risposta

3

uso .off()

Rimuovere un gestore di eventi.

$("#elementID").off() 

questo rimuove tutti gestore di eventi dall'elemento selezionato

+0

Ma qual è il codice esatto in questo caso? –

+0

per questo è necessario fornirci i codici e dirci di cosa hai bisogno in modo adeguato .. di quale evento stai parlando ?? e così via – bipen

+0

Voglio che il gestore di .ajaxStop interrompa l'esecuzione del codice che gli ho dato –

12

Prova non vincolante che, in questo modo:

$(document).ajaxStop(function() { 
    $(this).unbind("ajaxStop"); 
    //Some code 
}); 

E 'come ho fatto esso.

+0

Questo funziona per me :) Grazie. – Qerjiuthn

+0

Avevo bisogno di usare '$ (document) .unbind ('ajaxStop');' piuttosto che '$ (this)'. – Tim

+0

'unbind' di jQuery è obsoleto a partire dalla versione 3.0, invece di usare' off'. – Tim

0

Se è necessario assicurarsi che il codice del gestore all'interno ajaxStop() viene eseguito prima di viene rimosso, propongo il seguente:

$(document).ajaxStop(function(){  
    // Functions there 

    $(this).unbind("ajaxStop"); 
}); 

particolarmente utile se si dispone di vari possibili $ .ajax in la stessa pagina e si desidera controllare dove eseguire il codice ajaxStop(). Quindi devi solo usare questo codice all'interno della funzione jQuery necessaria.

+0

'unbind' di jQuery è obsoleto a partire dalla versione 3.0, invece di usare' off'. – Tim

Problemi correlati