当用户点击数据表中的分页页码时,如何触发点击事件?

时间:2017-07-06 08:08:04

标签: javascript jquery pagination datatables

我正在使用数据表,当用户点击数据表分页编号时,我想在其中触发带警告框的点击事件。

下面是我尝试的代码,但它适用于下一个按钮。

$(document).ready(function (){
  var table = $('#example').DataTable({
    drawCallback: function(){
      $('.paginate_button.next', this.api().table().container())          
         .on('click', function(){
            alert('next') ;
         });       
    }
  });   
});

Live Example

2 个答案:

答案 0 :(得分:1)

必须考虑的问题:

  • 分页按钮一次又一次生成,因此需要委托的事件处理程序

  • dataTables抑制或取消点击事件(我不知道为什么,它已在SO上多次发布)

  • 您需要一个选择器来排除下一个和上一个按钮

我会这样做:

$('.dataTables_wrapper').on('mousedown touchstart', '.paginate_button:not(.previous):not(.next)', function() {
  alert('something')
})

<强> http://jsfiddle.net/0f9Ljfjr/943/

<强>更新即可。每次抽奖后禁用上一个/下一个按钮,包括禁用功能:

var table = $('#example').DataTable({
   ...
   drawCallback: function() {
     $('.paginate_button.next').addClass('disabled').unbind();
     $('.paginate_button.previous').addClass('disabled').unbind();
   }
})

答案 1 :(得分:0)

试试这个

 $(document).ready(function (){
    var table = $('#example').DataTable({
       drawCallback: function(){
          $('.paginate_button', this.api().table().container())          
             .on('click', function(){
                alert('next') ;
             });       
       }
    });   
}

只需删除.next