我正在使用ColReorder插件。我想仅在用户拖放列(column-reorder
事件时)时执行某些操作,而不是在我通过API更改列排序时(使用colReorder.order()
)。
我已经检查了事件的回调参数,它们在两种情况下看起来都相同。我可以通过API来抑制事件吗?或者通过其他方式来区分这两种情况?
versions:
"datatables": "1.10.13",
"datatables.net-colreorder": "1.3.2",
答案 0 :(得分:0)
您可以在调用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