Można ustawić blockUI do pracy dla wszystkich funkcji na stronie dodając do globalnej obsługi zdarzeń jQuery. Aby upewnić się, że nie zostanie wywołany w wywołaniach autouzupełniania ajax, musimy ustalić, czy połączenie jest autouzupełnieniem, czy nie. Problem polega na tym, że te globalne funkcje nie mają dostępu do tak wielu informacji. Jednak ajaxSend dostaje trochę informacji. Otrzymuje obiekt ustawień używany do wywołania ajax. obiekt ustawień wysyła ciąg danych. W związku z tym, co można zrobić, to dołączyć do każdego ciągu danych w każde żądanie ajax na swojej stronie coś takiego:
¬autocomplete=notautocomplete
Na przykład:
$.ajax({data:"bar=1&foo=2¬autocomplete=notautocomplete"})
Wtedy możemy umieścić ten kod w dokumencie gotowym odcinku przed coś innego:
$(document).ajaxSend(
function (event, xhr, ajaxOptions){
if(ajaxOptions.data.indexOf("notautocomplete") !== -1){
$.blockUI;
}
});
$(document).ajaxStop($.unblockUI);
oczywiście druga lepszym pomysłem byłoby poszukać czegoś wyjątkowego w auto kompletnych wniosków, jak URL, ale to zależy od autouzupełnianie plug-in z którego korzystasz i jak go używasz.
dzięki za tego człowieka, kocham cię – franchez