从 1.8 更新至 DataTables 1.9
将 DataTables 1.9 的内部方法和整体结构进行大量修改后,其中一个主要目标是确保保留向后兼容性。只有两项次要修改不能 100% 向后兼容,一项需要进行一点 CSS 来纠正,另一项是状态保存自定义。
分页
- 两按钮分页
- 默认的两按钮分页现在使用 A 标记,而不是 DIV 标记,并且现在还包括语言字符串“上一个”和“下一个”。这样做是为了增强表的可访问性。可使用此处找到的 CSS来更新你的样式表,以考虑此更改。
- 全数字分页
- 全数字分页现在使用 A 标记,而不是 SPAN 标记,以增强表的可访问性。可使用此处找到的 CSS来更新你的样式表,以考虑此更改。
状态保存/ColReorder
- DataTables 1.9 具有针对状态自定义而大幅改进的 API,但这意味着必须删除旧的参数 fnStateLoadCallback 和 fnStateSaveCallback。有一篇博文详细说明了这些更改以及如何使用新选项。
- 请注意,如果你在启用状态保存的情况下使用 ColReorder,则还必须将 ColReorder 更新到最新版本。
初始化选项
- fnCreatedCell - 新的列选项,与 fnRender 非常类似,但在创建 TD 单元格时调用。
- fnCreatedRow - 与 fnCreatedCell 类似,但在 TR 行上操作。让你知道何时创建了新行,以便你对其进行操作。
- mDataProp - 如果 mDataProp 是函数,则传递新的第二个参数 - 告诉你数据请求类型是什么。
- aDataSort - 为单个列定义多列排序(即,当对该列进行排序时,将发生多列排序)。
- fnStateSave - 定义保存状态的逻辑
- fnStateLoad - 定义加载状态的逻辑
- fnStateLoaded - 状态已加载的通知
- fnStateSaveParams - 修改要保存的状态对象
- fnStateLoadParams - 在重新加载状态之前修改已加载的状态对象。
- fnRowCallback - 现在无需返回值 TR 元素。
- fnRender - 现在传递第二个参数,从原始数据源中操作的单元格值。
- iTabIndex - 设置表格控件中 tabindex 属性的值,以允许键盘访问。
- oLanguage.oAria.sSortAscending - 设置 ARIA 标签中的语言字符串,以指示排序激活将导致升序排序。
- oLanguage.oAria.sSortDescending - 设置 ARIA 标签中的语言字符串,以指示排序激活将导致降序排序。
API 方法
- $ - 新的 API 方法,它会在表体的的内容上执行 jQuery 选择器动作。
- _ - 与新的 $ 函数非常相似,但这种情况下会从匹配节点中返回数据数组,而不是节点本身。
- fnIsOpen - 新的 API 方法,它会检查 TR 元素是否“打开”。
- fnFilter - 新的第 6 个参数,用于控制区分大小写的筛选选项。
- fnDestroy - 新的第一个参数,将其设置为 true 时,它会导致表格被完全从页面移除,而不是重新插入到原始位置。
- fnGetData - 现在还接受要传入的 TD/TH 元素(除了已经支持的 TR 元素以外)。返回的数据是 TD/TH 单元格的数据。
已弃用的方法
- 现在弃用使用 sName 按含有服务端处理或 Ajax 来源的数据进行排序,它将在 DataTables 的下一个主要版本中被移除。v1.8 中引入的 mDataProp 选项提供了更大的灵活性,并且应该优先使用它来替代 sName 的重新排序。sName 参数将继续用于引用列。
- asStripClasses 存在拼写错误。将来只支持正确的拼写 asStripeClasses。
如果您在升级过程中确实遇到任何其他问题,请在 论坛 中告知我。