javascript - 我的 ajax/jQuery 函数不适用于动态加载的分页内容

标签 javascript jquery ajax dom jquery-events

我记得以前遇到过这个问题,但我不知道它出现在哪个项目上,也不知道我是如何解决它的。

我有一个 ajax“添加到收藏夹”按钮,而且我还有一个无限滚动,当您到达页面底部时,ajax 会加载页面。问题是 ajax 不适用于新附加的内容:

// Favorites
  $('.res-list .star').click(function(){
    var starLink = $(this);
    var listItem = $(this).parent().parent();
    
    if ($(starLink).hasClass('starred')) {
       $(starLink).removeClass('starred');
     } else {
       $(starLink).addClass('starred');
     }
     $.ajax({
       url: '/favorites/?id=' + $(starLink).attr('data-id'),
       type: 'PUT',
       success: function() {
         
         if ($(starLink).hasClass('starred')) {
           $(listItem).animate({
             backgroundColor: '#FFF8E4'
           }, 400);
         } else {
           $(listItem).animate({
             backgroundColor: '#ffffff'
           }, 400);
         }
       }
     });
     return false;
  });

最佳答案

您需要现场事件

$('.res-list').on('click', '.star', function() {

   // code here
});

或者使用 delegate()

$('.res-list').delegate('.star', 'click', function() {

       // code here
    });

read about delegate()

read about on()

关于javascript - 我的 ajax/jQuery 函数不适用于动态加载的分页内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10573431/

相关文章:

javascript - selection.data 返回不同类型的对象

javascript - 如何销毁/删除/解除绑定(bind) SnapSVG.js

javascript - 查找并删除类

javascript - 从选定的复选框中获取输入值并将其显示在 url 框中

ajax - 从内部页面进入站点时,jQuery Mobile 哈希导航在多页模板中不起作用

javascript - Youtube v3 API 上的用户 channel ID 会改变吗?

javascript - 在 moment.js 中解析格式为 "dd/mm/yyyy"的日期字符串

javascript - knockout 格式数据而不绑定(bind)处理程序

jquery - 如何在 ajax 内容上使用 jquery .delegate() 和包装函数?

javascript - 使用 formdata 进行多部分文件上传