Bootstrap 模式不会在 X 或关闭按钮上关闭,但在 ESC 或点击叠加层时会关闭
Bootstrap Modal not closing on X or Close button, but does on ESC or clicking in the overlay
好吧,标题说明了一切。我有一个默认的(从 Bootstrap 文档复制的)模态,它使用 $('#myModal').modal();
打开,但在任何情况下模态都不会用关闭 X 或取消按钮关闭。控制台不记录任何错误。当我按 ESC 或在灰色透明覆盖层中的任何一点时,它确实会关闭。
为了确保我已禁用项目中的所有其他 javascript 代码。我已经盯着这个看了一个小时了。我错过了什么?以前做过很多次,但我对这种行为感到困惑...
关闭按钮有没有data-dismiss="modal"
?
来自bootstrap:
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
您可以尝试手动切换或隐藏,
$('#myModal').modal('hide')
检查您是否具有如下 data-dismiss
属性
在 X 图标中
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
关闭按钮
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
如果您有,请复制并粘贴您的代码,这可能有助于确定导致问题的原因
好吧,在确定排除任何外部因素后,我尝试使用 BootstrapCDN.com 中的 bootstrap javascript 文件,而不是使用 composer 引入的版本。你知道吗?我引入的版本中存在导致此行为的错误...
我刚刚发现 bootstrap 4 如果您使用 javascript 创建模态并将其添加到文档以显示它,它不会为数据设置任何侦听器事件-取消操作,所以不得不自己做:
$('#modalId').on('click', 'button.close', function (eventObject) {
$('#modalId').modal('hide');
});
好吧,标题说明了一切。我有一个默认的(从 Bootstrap 文档复制的)模态,它使用 $('#myModal').modal();
打开,但在任何情况下模态都不会用关闭 X 或取消按钮关闭。控制台不记录任何错误。当我按 ESC 或在灰色透明覆盖层中的任何一点时,它确实会关闭。
为了确保我已禁用项目中的所有其他 javascript 代码。我已经盯着这个看了一个小时了。我错过了什么?以前做过很多次,但我对这种行为感到困惑...
关闭按钮有没有data-dismiss="modal"
?
来自bootstrap:
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
您可以尝试手动切换或隐藏,
$('#myModal').modal('hide')
检查您是否具有如下 data-dismiss
属性
在 X 图标中
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
关闭按钮
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
如果您有,请复制并粘贴您的代码,这可能有助于确定导致问题的原因
好吧,在确定排除任何外部因素后,我尝试使用 BootstrapCDN.com 中的 bootstrap javascript 文件,而不是使用 composer 引入的版本。你知道吗?我引入的版本中存在导致此行为的错误...
我刚刚发现 bootstrap 4 如果您使用 javascript 创建模态并将其添加到文档以显示它,它不会为数据设置任何侦听器事件-取消操作,所以不得不自己做:
$('#modalId').on('click', 'button.close', function (eventObject) {
$('#modalId').modal('hide');
});