Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何通过单击datatables中的列名来防止排序?_Jquery_Sorting_Datatables_Click_Preventdefault - Fatal编程技术网

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 );

} );
这将从表的列标题中删除排序事件(jQuery
off()
函数),并确保鼠标图标在滚动标题时不会变为手形

它将箭头保留在适当的位置,以便您可以看到排序的效果

为了显示仍然可以进行排序,我在页面中添加了一个按钮:

<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>