将livequery表排序代码更新为.on

时间:2013-03-18 17:35:31

标签: jquery tablesorter livequery

我正在将我的网站更新为jQuery 1.7,并计划将最新版本更新为第2阶段。以下是我需要更新为.on()的现有livequery代码,以便维护表格排序功能。

// EXISTING CODE - Applies table sorting to existing and future tables with class of tablesorter
$("table.tablesorter").livequery(function(){ // need to replace this .livequery code

我可以使用此代码对DOM加载时存在的表启用表排序,但它不适用于加载DOM后创建的表。

// Only works on existing tables
$('table.tablesorter').tablesorter();

我使用.on尝试了以下代码,但它没有响应第一次点击

// Works on existing tables and tables created later, but it will not respond to initial click event
$(document).on('click', 'table.tablesorter', function(e){  $('table.tablesorter').tablesorter(); });

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

如果您使用ajax加载表数据,只需在回调函数(或done函数中)初始化表,如下所示; demo):

$.ajax({
  type: "GET",
  // should return raw html of the table
  url: "mysite.com/table"
}).done(function(data) {
  // add the table
  $(data).appendTo('body');
  // initialize it
  $('table').tablesorter({
    theme : 'blue'
  });
});

这只是众多例子中的一个。