【问题标题】:jQuery click event doesn't work the second timejQuery单击事件第二次不起作用
【发布时间】:2011-12-18 09:03:39
【问题描述】:

我正在使用 jQuery 来处理和处理 Codeigniter 的 Ajax 分页。

当我第一次加载页面时,Ajax 可以工作,但是当页面加载并单击另一个页面链接时它不起作用(它转到本机 URL)。

这是我的 jQuery 函数:

function pagination(){
$('.paginate').click(function(){
   $('#loading').css('display','block');
   var b  = $(this).attr('href');
   b = b.split('/');
   b = 'http://'+'/'+b[2]+'/'+b[3]+'/indexAjax/'+b[5];
   grabpagination(b);
   return false;


});
}

function grabpagination(b){
    $.ajax({
   type:'POST',
   url: b,
   cache: false,
   data: {},
   success: function (data) {
      $("#center").replaceWith("<div id='center'>"+data+"</div>");
        $('#loading').css('display','none');
        $('html, body').animate({scrollTop: '0px'}, 1100);

   },
   dataType: 'html'
});


}

和分页UL的HTML

<ul id="pagination">
    <li class="current">1</li>
    <li><a class="paginate" href="http://under.dev/home/index/2">2</a></li>
    <li><a class="paginate" href="http://under.dev/home/index/4">3</a></li>
    <li class="text"><a class="paginate" href="http://under.dev/home/index/2">التالي</a></li>
    <li class="text"><a class="paginate" href="http://under.dev/home/index/14">الأخير</a></li>
</ul>

under.dev 只是一个虚拟域。

怎么了?我正在使用 Firebug 进行调试,但它没有给出任何错误。


已解决使用Live() 函数。

【问题讨论】:

  • 您必须在点击回调中调用点击函数,以便重新武装回调。或者按照 flesk 的回答中的建议进行操作。
  • 完成了,我刚刚读到关于 live 函数的内容,非常感谢你们。
  • 也许从阅读包含示例的官方文档开始:api.jquery.com/live
  • 如果问题得到解决,请发帖。它可以帮助那些没有帮助就来到页面的人!欢呼
  • 请添加您的解决方案作为答案,而不是将其放在问题中。

标签: jquery pagination


【解决方案1】:

如果要绑定到动态加载的数据,则需要使用 live() 函数绑定事件。

【讨论】:

  • 完成了,我刚刚读到关于 live 函数的内容,非常感谢你们。
猜你喜欢
  • 2013-01-23
  • 1970-01-01
  • 1970-01-01
  • 2012-08-14
  • 1970-01-01
  • 1970-01-01
  • 2014-01-14
  • 1970-01-01
  • 2012-07-09
相关资源
最近更新 更多