Jquery 如何通过单击datatables中的列名来防止排序?
我想通过点击列名来防止顺序的改变 我试过:Jquery 如何通过单击datatables中的列名来防止排序?,jquery,sorting,datatables,click,preventdefault,Jquery,Sorting,Datatables,Click,Preventdefault,我想通过点击列名来防止顺序的改变 我试过: "ordering": false, 这实际上消除了点击的可能性,但是排序不再起作用。我想保留这一点,只是防止用户能够单击列名。我尝试了一切,比如: $(".sorting").addClass('sorting_disabled').removeClass('sorting'); 或 或 没有任何效果。您可以使用以下功能: $(document).ready(function() { var ta
"ordering": false,
这实际上消除了点击的可能性,但是排序不再起作用。我想保留这一点,只是防止用户能够单击列名。我尝试了一切,比如:
$(".sorting").addClass('sorting_disabled').removeClass('sorting');
或
或
没有任何效果。您可以使用以下功能:
$(document).ready(function() {
var table = $('#example').DataTable( {
"initComplete": function(settings, json) {
$('th.sorting').off();
$("th.sorting").css('cursor', 'default');
$("th.sorting_asc").css('cursor', 'default');
$("th.sorting_desc").css('cursor', 'default');
}
} );
// to show sorting is still possible:
table.order.listener( '#mysorter', 0 );
} );
这将从表的列标题中删除排序事件(jQueryoff()
函数),并确保鼠标图标在滚动标题时不会变为手形
它将箭头保留在适当的位置,以便您可以看到排序的效果
为了显示仍然可以进行排序,我在页面中添加了一个按钮:
<button id="mysorter" type="button">Click Me!</button>
点击我!
table.order.listener()
使列索引0在每次单击按钮时按asc/desc排序
(如果还希望删除排序箭头,请参见。)
$(document).ready(function() {
var table = $('#example').DataTable( {
"initComplete": function(settings, json) {
$('th.sorting').off();
$("th.sorting").css('cursor', 'default');
$("th.sorting_asc").css('cursor', 'default');
$("th.sorting_desc").css('cursor', 'default');
}
} );
// to show sorting is still possible:
table.order.listener( '#mysorter', 0 );
} );
<button id="mysorter" type="button">Click Me!</button>