ajaxstart在toggle()事件中触发,但不能在Complete上触发ajaxstop

时间:2014-01-30 10:31:00

标签: javascript jquery html ajax

我有一个函数可以处理通过单击某个切换按钮触发的div的切换。

$('.r_eply_togler').click(function() {
   var id = $(this).attr('id');
   var nw_id = '#q_reply_form_' + id;
   $(nw_id).toggle();

  });

我有一个带有ajaxstart和ajaxstop的函数来显示ajax调用期间的加载。

function ajaxcompleted(){
  $(document).ajaxStart(function(){
  $('#spinner').show();
}); 

   $(document).ajaxStop(function(){
    $('#spinner').hide();
    }); 
   }

但是我不希望在单击切换按钮时触发ajaxstart和ajaxstop。目前ajaxcompleted功能在点击切换按钮时被绊倒但不是核心,因为它没有停止我猜它,因为当时没有发生ajax调用。

有没有办法可以避免在单击切换按钮时触发ajaxcompleted功能,或者有一种方法可以让它正常运行,显示加载更多然后隐藏它应该。

我有解决方案。我在切换功能中添加了return false并且它有效。问题是ajaxCompelted()函数无法识别切换事件执行的结束。

function togle(){
      $('.r_eply_togler').click(function() {
           var id = $(this).attr('id');
           var nw_id = '#q_reply_form_' + id;
           $(nw_id).toggle();
            return false;
          });   
    }

感谢各位回复。

1 个答案:

答案 0 :(得分:0)

您可以将此用作解决方案 http://jqueryui.com/toggle/