首页 > 解决方案 > 即使使用 ajaxComplete() 函数,jQuery 代码也不会应用于动态内容。有什么建议么?

问题描述

我的网站上有一个数据电子表格,它是从数据库中加载的,结果如下所示:

<table>
<tbody id="tbody">
<tr>
    <td><button>Edit</button></td>
    <td><button>Delete</button></td>
    <td>First Name</td>
    <td>Last Name</td>
    ...
</tr>
</tbody>
</table>

用户向下滚动时会出现更多内容(行),这是通过 Ajax 完成的,如下所示:

$(document).ready(function(){
/*Get more clients on scroll*/
var clientCount = 33;
$(window).scroll(function(){
    var leftToBottom = $(document).height() - $(window).height() - $(window).scrollTop();
    if( leftToBottom == 0) {
        clientCount = clientCount + 11;
        $("#tbody").load("loadClients.php", {
            clientNewCount : clientCount
        });
        }
});
});

但是,每一行数据都有一个类似于打开模式的编辑按钮、一个删除按钮、一个多重删除选择等。这些都是通过 jQuery/JS 操作的。

这个问题让我知道该怎么做,但我无法将它应用到我的代码中:Running JQuery scripts on AJAX loaded content

有人建议使用 ajaxComplete() 函数,但这意味着 jQuery 代码只有在 ajax 内容完成后才能工作(duh)。

除了使用 $(document).ajaxComplete() 函数之外,我还能做些什么来将我的 jQuery 代码应用于新的 ajax 内容?

问题是,在用户向下滚动以获取更多内容之前,jQuery 代码将无法工作。因此,用户在一直向下滚动以获取新内容之前,无法编辑、删除或选择任何数据。

祈祷,如何在 ajax 调用之前和 ajax 调用之后将 jQuery 应用于内容?

目前我在两个文档中都包含了 jQuery 脚本;原始文档和加载的内容。我确定这不是正确的方法,但现在它正在工作。

PS jQuery 代码包含许多单击事件、preventDefaults 和其他基本代码来打开和关闭模式。

标签: phpjquerymysqlajax

解决方案


推荐阅读