加载ajax时,动态内容不起作用

时间:2010-04-25 09:37:36

标签: javascript jquery ajax

我正在尝试使用$.ajax在用户登录后加载一些动态内容,如下所示:

$.ajax({
    url: "functions.php",
    type: "GET",
    data: login_info,
    datatype: 'html',
    async: false,
    success: function (response) {
        $('#main').html(response);
    }
});

问题是,当以这种方式加载时,某些事件不起作用。我使用.live()方法修复了按钮,但是例如可排序列表不起作用。我怎么能以某种方式刷新DOM,让jquery知道这些新添加的元素?

谢谢!

2 个答案:

答案 0 :(得分:2)

没有简单的答案。我刚刚编写了一个jQuery脚本并遇到了同样的问题。

只需使用this,即“重新绑定”解决方案

答案 1 :(得分:1)

您需要在$.ajax的成功回调中重新初始化UI组件,例如:

$.ajax({
    url: "functions.php",
    type: "GET",
    data: login_info,
    datatype: 'html',
    async: false,
    success: function (response) {
        $('#main').html(response);
        $("#main .sortable").sortable();
    }
});