在jQuery中的动态加载页面上执行自定义函数

时间:2010-08-17 17:58:54

标签: jquery

我在网页中有一个标签,可以使用以下代码动态加载和显示另一个页面:

$(document).ready(function(){
    $(".tab-content").hide();
    $("#one").show();
    $("a.tab-name").click(function(){
        $(".tab-name-active").removeClass("tab-name-active");
        $(this).addClass("tab-name-active");
        $(".tab-content").fadeOut();
        var content_show=$(this).attr("title");
        if (content_show === 'three') {
            $("#"+content_show).load('new-page.php');
        }
        $("#"+content_show).delay(100).fadeIn('slow');
        return false;
    });
});

现在,在初始页面中我有这个代码,它应该从第二页开始对表进行排序,动态加载:

$(document).ready(function(){
    $("#sorttable").tablesorter({
        headers: {0: {sorter: false}}
    });
});

唯一的问题是排序不起作用。我怎样才能使它工作?我认为这与live()函数有关,但我无法使它工作。
任何帮助表示赞赏。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在.load()回调中再次运行代码,如下所示:

$("#"+content_show).load('new-page.php', function() {
  $("#sorttable").tablesorter({
    headers: {0: {sorter: false}}
  });
});

这将在加载内容后再次执行.tablesorter()插件。