【问题标题】:AjaxStart and AjaxStop Not WorkingAjaxStart 和 AjaxStop 不工作
【发布时间】:2012-12-08 03:06:43
【问题描述】:

我使用 ajaxStart 和 ajaxStop 来显示加载 gif。 在我添加这段代码之前它工作正常:

$(function(){  
$('.link a').live('click', function(ev) {

    ev.preventDefault();
    ev.stopPropagation();


    $('#main').load($(this).attr('href'));


  return false;
});
});

这是我的 ajaxStart/Stop 代码:

$(document).ajaxStart(function(){
    $("#loading").show();
 }).ajaxStop(function(){
    $("#loading").hide();
 });

请帮忙:)

编辑:我添加的导致问题的代码被添加以启用 div 内的页面链接,以便在单击时加载 div 本身中的链接,而不是加载整个窗口.新加载页面时,AjaxStart 和 AjaxStop 工作正常,但是一旦我单击 div 中的链接(加载页面),AjaxStart 就不会触发。

链接的代码(在页面内的 div 中):

 echo "<span class = 'link'><a href='feed.php?".$new_query_string ."' id='page_a_link'     name='page_a_link' >$i</a></span>";

 echo "<span class = 'link'><a id='page_a_link' name='page_a_link' href='feed.php?".$new_query_string ."' >< Pre</a></span>";

 echo "<span class = 'link'><a href='feed.php?".$new_query_string ."' id='page_a_link' name='page_a_link' >Next</a></span>";

这些用于分页。我只是从 PHP 代码中取出了链接部分。

【问题讨论】:

  • 我认为这是因为 ev.stopPropogation();尝试删除它。
  • 新代码是怎么破的?
  • 尝试删除 ev.stopPropogation()。没有什么不同。
  • 在 EDIT 中添加了更多详细信息

标签: jquery ajax


【解决方案1】:

我认为问题在于,当您重新加载页面时,内容以及分页链接会被替换,并且您会丢失旧的绑定点击事件

试试这个代码:

$(function(){  


  function bindPagination() {
    $('span.link a').on('click', function(ev) {
       ev.preventDefault();
       // ev.stopPropagation();

       $('#main').load($(this).attr('href'), function(){
          //callback function fired when page loaded
          //now rebind click event
          bindPagination(); 
       });

       return false;
    });   
  }

}); 

并尝试以这种方式更改“加载器”:

$('#loader')
  .bind("ajaxSend", function() {
    $(this).show(); 
        })
  .bind("ajaxComplete", function() {
    $(this).hide();
});

【讨论】:

  • .link 和 a.link 不起作用。我已经发布了您要求的 HTML 代码。谢谢!
  • 还是同样的问题。我没有提到的另一件事是页面加载有效。页面加载,只是 ajaxStart 没有执行。感谢您到目前为止的帮助:)
  • 还是同一个伙伴。问题依然存在
  • @saravanen-marimuthu 答案重新编辑(尝试删除 ev.stopPropagation() 并更改加载程序绑定。一个问题:“加载程序” div 在“主” div 之外?跨度>
  • 是的,它在主 div 之外
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-09
  • 1970-01-01
  • 2012-08-23
  • 2012-09-18
  • 1970-01-01
相关资源
最近更新 更多