2016-04-26 3 views
0

Я пытаюсь вызвать ajaxstart(), когда нажата кнопка с классом, но она не работает, любая обратная связь будет оценена.Triggering ajaxStart() onclick на кнопке

Спасибо.

Код:

$('.search-btn').ajaxStart(function() { 
     $('#spinner').show(); 
    }).ajaxComplete(function() { 
     $('#spinner').hide(); 
    }); 
+0

'ajaxstart()' не должно быть «срабатывает при нажатии кнопки» - она ​​должна быть определена на нагрузке, а затем будет автоматически запускать при запуске задачи Ajax. Если вы также хотите, чтобы * то же * функциональность (spinner show/hide) при нажатии кнопки, затем добавьте функциональность в функцию и вызовите оба. –

ответ

0

Bit запутался, что происходит в вашем примере. Но я выписал, что я думаю, что вы хотите сделать.

$('.search-btn').on('click', function() { 
    $(this).ajaxStart(function(){ 
     $('#spinner').show(); 
    }).ajaxComplete(function() { 
     $('#spinner').hide(); 
    }); 
}); 
+0

«триггер» запуска ajax, а не настройка ajaxstart - это не покажет счетчику при нажатии. Если это действительно * * то, что хочет OP, тогда им нужна пощечина. :) –

+0

Согласен, не совсем уверен, что они после, мой ответ, вероятно, никому не полезен. :П – Flux

1

$.ajaxStart() и $.ajaxComplete() должны быть прикреплены к $(document). См $.ajaxStart()

По состоянию на JQuery 1.9, все обработчики для jQuery global Ajax events, в том числе тех, которые добавлены с помощью метода .ajaxStart(), должен быть прикреплены к document.

$(document).ajaxStart(function() { 
     $("#spinner").show(); 
    }).ajaxComplete(function() { 
     $("#spinner").hide(); 
    }); 
Смежные вопросы