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

Javascript 当用户单击数据表中的分页页码时,如何触发单击事件?,javascript,jquery,pagination,datatables,Javascript,Jquery,Pagination,Datatables,我使用的是datatables,当用户单击datatable页码时,我希望触发一个带有警报框的点击事件 下面是我尝试过的代码,但它适用于“下一步”按钮 $(document).ready(function (){ var table = $('#example').DataTable({ drawCallback: function(){ $('.paginate_button.next', this.api().table().container())

我使用的是datatables,当用户单击datatable页码时,我希望触发一个带有警报框的点击事件

下面是我尝试过的代码,但它适用于“下一步”按钮

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

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

只需删除。接下来必须考虑的问题是:

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

  • dataTables禁止或取消单击事件(我不知道为什么,在这里已经发布了好几次)

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

我会这样做:

$('.dataTables_wrapper')。在('mousedown touchtstart','上。分页按钮:非(.previous):非(.next)',函数(){
警惕(‘某物’)
})


更新。每次绘制后禁用上一个/下一个按钮,包括禁用功能:

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

您的意思是当用户单击分页按钮时要显示警报吗?“触发器”与处理事件相反。我不确定问题是什么,您使用此选择器获取下一个按钮
$('.paginate_按钮.next')
,要获取页面按钮,不要限制为。下一步,使用
$('.paginate_按钮')
,或者,如果您不想获取下一步:
$('.paginate_按钮:不(.next'))
我想阻止分页编号的默认操作。当用户单击2或3等按钮时,只需显示警报,不必导航到下一个数据页?我可以将“上一个”和“下一个”按钮设置为禁用状态吗?@SamaraSsr,请参阅更新,如果按钮仍然需要可反应,您可以跳过上一个
unbind()
。不知道您为什么希望这样做…?我们的网站提供了8种类型的献血者列表。我们不想让用户完全访问查看所有捐赠者列表,以便与他们取得联系并通过“发件人”收集他们的详细信息。我用引导模式替换了警报。他们必须与我们联系,以便在我们的网站上获得更多的捐赠者名单。感谢您在这方面的帮助:)为什么这在移动设备上不起作用?在小屏幕中,当我单击页码时,它会显示警报窗口,但在关闭警报后,它会切换到下一页@萨马拉斯,我不知道,还没有看到这个。尝试防止事件冒泡:将
e
添加到
mousedown
处理程序中,并在
alert()之前执行
e.stopPropagation()