【问题标题】:jquery-datatables: ignore 'column-reorder' event on reordering using API (colReorder.order())jquery-datatables:使用 API (colReorder.order()) 重新排序时忽略“column-reorder”事件
【发布时间】:2017-07-14 11:23:28
【问题描述】:
我正在使用ColReorder 插件。我只想在用户拖放列时(在 column-reorder 事件上)执行一些操作,而不是在我通过 API 更改列排序时(使用 colReorder.order())。
我检查了事件的回调参数,在这两种情况下它们看起来都一样。我可以通过 API 抑制事件吗?或者有什么其他方法可以区分这两种情况?
versions:
"datatables": "1.10.13",
"datatables.net-colreorder": "1.3.2",
【问题讨论】:
标签:
jquery
datatables
datatables-1.10
angular-datatables
【解决方案1】:
您可以在调用 colReorder.order() 之前取消注册该事件,然后重新注册它。
table.off('column-reorder')
table.colReorder.order(order)
table.on('column-reorder', function(){
// Your code
})
或者您可以只使用布尔值来测试您所处的场景:
var isExplicitCall = false
table.on('column-reorder', function(){
if (!isExplicitCall){
// Your code
}
})
// Then call your reorder
isExplicitCall = true
table.colReorder.order(order)
isExplicitCall = false