gpt4 book ai didi

javascript - 如何禁用拖放 jquery 数据表

转载 作者:行者123 更新时间:2023-11-30 15:38:10 25 4
gpt4 key购买 nike

所以我使用 jquery 数据表和 colReorder 来设置一个表。该表具有一些功能,例如如何单击列标题并选择要切换的列。为了使此功能正常工作,我必须启用 colReorder。现在唯一的问题是,我所有的列都是可拖动的。我该如何解决这个问题?

这是我尝试过的

  • draggable 设置为 false
  • bsort 设置为 false
  • bsortable 设置为 false

请让我知道我做错了什么。另外,这是我的构造函数:

        window.table =
$table.DataTable({
data: window.apiData['data'],
/**
dat
* Specify which columns we're going to show
*/
columns: window.columnMapping,
/**
* we want to disable showing page numbers, but still limit the number of results
*/
dom: "t",
/**
* let's disable some dynamic custom css
*/
asStripClasses: [],
/**
* let's keep the pages reasonable to prevent scrolling
*/
pageLength: 8,

/**
* this helps with hotswapping columns
*/
colReorder: true
});

谢谢!

最佳答案

您可以将 ColReorders 事件绑定(bind)覆盖到 <th>元素。幸运的是,这些事件通过命名空间得到了丰富,因此可以很容易地对其进行追踪,结果是 ColReorder.mousedown负责触发列拖动。所以你可以重置功能

function resetColReorderMD() {
$('.dataTable thead th').each(function() {
var md = $._data($(this)[0]).events.mousedown;
for (var i=0, l=md.length; i<l; i++) {
if (md[i].namespace == 'ColReorder') {
md[i].handler = function() {}
}
}
})
}

$('#example').DataTable({
colReorder: true,
initComplete: function() {
resetColReorderMD()
}
})

演示 -> http://jsfiddle.net/2y4w3v6g/

在使用 ColReorder 插件时禁用列重新排序似乎毫无意义。我想上面提到的“功能”大量使用了 ColReorder 功能,这是真正的问题,上面的内容应该被视为不可取的 hack。

关于javascript - 如何禁用拖放 jquery 数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41212479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com