【问题标题】: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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-13
      • 2014-11-14
      相关资源
      最近更新 更多