/ / Comment puis-je simuler des événements de début / fin AJAX dans JQuery? - javascript, jquery

Comment puis-je simuler des événements de démarrage / fin d'AJAX dans JQuery? - javascript, jquery

J'écoute ajaxStart () et ajaxStop () pouraffiche / masque un spinner, et je fais quelques simulations AJAX dans JS pendant l’écriture des serveurs. Il appelle simplement une fonction pour générer des données fictives avec setTimeout (). Pour le moment, j’appelle manuellement hide () et show () sur la roulette, mais j’aimerais vraiment dire à JQuery quand je commence et arrête ma "demande", et que les événements se déroulent de cette façon, je ne cache donc pas accidentellement () la roulette pendant que une réal demande ajax est toujours en arrière-plan.

Cela peut-il être fait facilement?

MODIFIER: C’est le code sur lequel je me suis installé, le truc est de maintenir le JQuery.active compter:

function fakeAJAX(f) {
if(jQuery.active++ === 0 ) {
jQuery.event.trigger("ajaxStart");
}
setTimeout(function () {
f();
if(!(--jQuery.active)) {
jQuery.event.trigger("ajaxStop");
}
}, Math.round(Math.random() * 3000 + 250));
}

Réponses:

6 pour la réponse № 1

Selon le sources il vous suffit d'invoquer:

jQuery.event.trigger( "ajaxStart" );

et

jQuery.event.trigger( "ajaxStop" );

en conséquence.

http://jsfiddle.net/zerkms/7RVbz/