/ / Як підробити події AJAX початку / закінчення в JQuery? - javascript, jquery

Як підробляти початкові / завершальні події AJAX у JQuery? - javascript, jquery

Я слухаю ajaxStart () і ajaxStop () допоказувати / приховувати лічильник, і я роблю деякі атрибути AJAX в JS під час запису серверів. Він просто викликає функцію генерування макетних даних за допомогою setTimeout (). show () на лічильнику, але мені дуже хотілося б просто сказати JQuery, коли я починаю і зупиняю свій "запит", і події проходять таким чином, тому я не випадково захоплюю () лічильник, поки a реальний ajax запит все ще йде у фоновому режимі.

Чи можна це зробити легко?

EDIT: Це код, який я влаштував, трюк у підтримці JQuery.active рахувати:

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));
}

Відповіді:

6 за відповідь № 1

Відповідно до джерела потрібно просто викликати:

jQuery.event.trigger( "ajaxStart" );

і

jQuery.event.trigger( "ajaxStop" );

відповідно.

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