Как отключить запуск глобальных обработчиков, таких как ajaxStart или ajaxStop, для выполнения catcomplete?

При использовании плагина jQuery BlockUI для загрузки ajax с данным кодом:

$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);

показывает ajax-загрузку BlockUI для каждого символа поиска с использованием автозаполнения и catcomplete. В этом случае, как предотвратить глобальные обработчики, чтобы не отображалась загрузка ajax BlockUI.

У меня есть следующий код для моего автозаполнения:

$("#query").catcomplete({
        minLength: 3,
        source: "/searches/auto_complete",
        appendTo: "#identifier",
        select: function (event, ui) {
            var query_value = $("#query").val(ui.item.label);
            query_value = $.trim(query_value);
            $("#query").val(query_value);
            $("#search_id").val(ui.item.search_id);
            $("#from").val(ui.item.from);
            $(".search-form").submit();
        }

    });

person sansarp    schedule 12.02.2015    source источник
comment
Я предполагаю, что вы не можете, в этом суть глобальных обработчиков, они всегда срабатывают.   -  person adeneo    schedule 12.02.2015


Ответы (1)


@adeneo Наконец-то нашел решение. Мы должны установить global: false . Вот полное решение.

$("#query").catcomplete({
        appendTo: "#identifier",
        source: function (request, response)
        {
            $.ajax(
            {
                global: false,
                minLength: 3,
                source: "/searches/auto_complete",
                url: "/searches/auto_complete",
                dataType: "json",
                data:
                {
                    term: request.term
                },
                success: function (data)
                {
                    response(data);
                }
            });
        },
        minLength: 2,
        select: function (event, ui) {
            var query_value = $("#query").val(ui.item.label);
            query_value = $.trim(query_value);
            $("#query").val(query_value);
            $(".search-form").submit();
        }

    });
person sansarp    schedule 14.02.2015