You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bootstrap 5.2.1中Datatable分页时Modal自动隐藏的原因

Bootstrap 5.2.1 Modal内嵌Datatable分页自动关闭问题

问题原因

你的代码中shown.bs.modal事件绑定了错误的Modal选择器(#modal),但实际Modal的ID是#exampleModal,导致Modal显示后,Datatable的列宽调整、滚动区域计算逻辑完全没有执行。

Bootstrap v5.2.1优化了Modal的事件处理逻辑,当Modal内元素布局未正确初始化(比如Datatable滚动区域尺寸计算错误),点击分页按钮时,异常的布局变化会触发Modal的关闭机制;而v5.2.0的事件处理逻辑没有这类严格校验,因此不会出现自动关闭问题。

修复方案

将事件绑定的选择器修正为实际的Modal ID #exampleModal,确保Modal显示后能正确初始化Datatable布局:

$(document).ready(function() {

  $('#example').DataTable({
    scrollY: "40vh",
    scrollCollapse: true,
    scroller: true,
    responsive: true
  });

  // 修正选择器为#exampleModal
  $(document).on('shown.bs.modal', '#exampleModal', function() {
    $($.fn.dataTable.tables(true)).DataTable()
      .columns.adjust()
      .responsive.recalc()
      .scroller.measure();
  });

  $('#exampleModal').on('hide.bs.modal hidden.bs.modal', function(e) {
    //console.log(e);
  });

});

效果说明

修改后,Modal显示时Datatable会自动调整列宽和滚动区域,点击分页按钮时布局不会出现异常,也就不会触发Modal的关闭逻辑,恢复和Bootstrap v5.2.0一致的正常表现。

内容的提问来源于stack exchange,提问作者Lukas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 03:50:26