【问题标题】:Bootstrap modal switch can't scroll the later modalBootstrap 模态开关不能滚动后面的模态
【发布时间】:2017-09-22 09:03:57
【问题描述】:

我有一个模态,它有一个链接到另一个模态。当我打开第二个模态并关闭第一个模态时,我无法滚动第二个模态,只有背景内容滚动。谁能帮我解决这个问题?我正在使用引导程序 3.3.7

【问题讨论】:

  • 检查新模式是否仅在第一个完全关闭时打开,这些事件不应重叠
  • 感谢您的评论@SubjectDelta,但如何确保它们不重叠。
  • 发布你的一些代码会让这更容易......

标签: scroll modal-dialog bootstrap-modal


【解决方案1】:

尝试使用Modal Events 以确保您的模态不会重叠。在这种情况下,您必须在第一个模式之后打开第二个模式,如下所示:

$('#first-modal').on('hidden.bs.modal', function(event) {
    // Open your second one in here
});

如果.button 是那些关闭第一个模态以打开第二个模态的东西的选择器,你应该有这样的东西

$('#first-modal').on('click', '.button', function() {
    // [...] Whatever you need to do after pushing one of those buttons
    $('#first-modal').on('hidden.bs.modal', function(event) {
        // Open your second one in here
        $('#first-modal').off('hidden.bs.modal');
        // This will remove ANY event attached to 'hidden.bs.modal' label
    }).modal('hide');
});

如果你想使用第一个更清洁的例子,oyu 应该能够从它来自的event object 进行测试(如果它不是你的按钮,event.preventDefault(); 并退出)

【讨论】:

  • 感谢您的回答,我在第一个模式上有一个项目列表,我想要的是当我单击其中一个项目时,它会跳转到项目的详细模式。有没有办法检查第一个模态的状态?或者如何将数据从被点击的项目传输到隐藏事件?
  • 非常感谢,我忘了可以把这个事件函数放在item点击函数里面。
  • 哦,不。那效果不好。有时即使他所在的函数没有被调用,事件函数也会被触发。
  • $('#first-modal').on('click', '.button', function() { // [...] 按下其中一个后你需要做什么按钮 $('#first-modal').on('hidden.bs.modal', function(event) { // 在这里打开你的第二个 第一次没问题,但是当我重新打开第一个模态并关闭时它没有点击 modal2 触发按钮,这个 #first-modal hidden 事件就会触发。}).modal('hide'); });
  • 第一次没问题,但是当我重新打开第一个模态并在不单击 modal2 触发按钮的情况下将其关闭时,会触发此 #first-modal hidden 事件。 IE 11 和 firefox 的工作方式相同
猜你喜欢
  • 2018-07-23
  • 2020-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-16
  • 2019-11-02
  • 2019-01-09
相关资源
最近更新 更多