工具提示不适用于数据表的分页
Tooltip does not work with pagination on datatables
如何在datatable插件内使用分页时显示我的工具提示?我使用插件protip与数据表连接显示工具提示,当一列内的文本太长。tooltips插件已经可以使用下面的代码片段:
//Datatable Setup
jQuery(document).ready(function($) {
var table = $('#irp-table.raab').DataTable({
"columnDefs": [
{ visible: false, targets: 2 },
{ className: 'mdl-data-table__cell--non-numeric', targets: [0, 1]}
],
"order": [[ 0, 'asc' ]],
"displayLength": 25,
"drawCallback": function ( settings ) {
var api = this.api();
var rows = api.rows( {page:'current'} ).nodes();
var last=null;
api.column(2, {page:'current'} ).data().each( function ( group, i ) {
if ( last !== group ) {
$(rows).eq( i ).before(
'<tr class="group"><td colspan="3">'+group+'</td></tr>'
);
last = group;
}
} );
}
} );
//Initialize ToolTip
jQuery(document).ready(function($) {
$.protip();
});
//ToolTip hover behaviour
jQuery(document).ready(function($) {
$('td').bind('mouseenter', function () {
var $this = $(this);
if (this.offsetWidth < this.scrollWidth) {
var text = $this.text();
$this.attr("data-pt-title", text);
$this.protipShow()
}
}).mouseenter();
});
然而,它只适用于第一个网站的情况下,我使用我的数据表分页和导航到另一个网站。
SOLUTION
您需要使用drawCallback
初始化工具提示每次datattables重绘表。这是必需的,因为在显示第一个页面时,除了第一个页面之外的其他页面的TR
和TD
元素不存在于DOM中。
也不需要调用mouseenter()
。
"drawCallback": function ( settings ) {
var api = this.api();
// ... skipped ...
$.protip();
$('td', api.table().container()).on('mouseenter', function () {
var $this = $(this);
if (this.offsetWidth < this.scrollWidth) {
var text = $this.text();
$this.attr("data-pt-title", text);
$this.protipShow();
}
});
}
与
参见jQuery数据表:自定义控件不工作在第二页和之后更多的例子和细节。
相关文章:
- 如何在分页事件中突出显示数据表中的单词
- 数据表不显示与表的分页
- 如何使用javascript检测数据表分页的其他页面中的复选框
- jQuery 数据表 在页面上导航时,在分页表上重置行的数据
- 表排序器分页使表行不可单击
- JSF数据表分页中的当前页码
- 为什么分页数据表JQuery没有'不要使用JSF ui:重复
- 复选框只适用于第一页-数据表、轨道
- jQuery 表排序器 + 分页,分页所有表
- RXJS 中的分页数据光标以及对 subject.onDone 和错误的混淆
- 使用承诺以递归方式检索分页数据
- 从mysql中分页数据表,自动刷新
- 使用promise收集未知大小的分页数据
- 从不在当前分页数据表上的文本框中检索值
- 分页器表不分页后的Jquery ajax查询
- 模式窗口不能为分页数据表工作
- 使用Laravel分页的表搜索
- 窗口.print在ie11中没有打印表中的所有分页数据
- 排序,搜索(过滤),分页HTML表
- 屏幕抓取分页数据