繁体   English   中英

关闭另一个时打开模态的问题

[英]Problem on opening a modal when closing an other

这是我的场景。 我有一个模态(模态 A),页脚中有 2 个按钮:保存并关闭。 当我点击“保存”按钮时,我需要关闭模态 A 并打开模态 B,它可以使用以下代码:

模态A:

<div class="modal fade" tabindex="-1" role="dialog" id="modalAddressees">
    <div class="modal-dialog modal-lg" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Select Addresses</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">×</span>
                </button>
            </div>
            <div class="modal-body">
                [....]
            </div>
            <div class="modal-footer bg-whitesmoke br">
                <button type="button" id="saveBtn" class="btn btn-primary">Save</button>
                <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>

Javascript:

$().ready(function () {
    $("#saveBtn").on('click', function () {
        $('#modalAddressees').modal('hide')
        $('#modalAddressees').on('hidden.bs.modal', function () {
            $('#modalNewAddress').modal('show');
        })
    });
});

但是在我关闭 Modal B 并再次打开 Modal A 之后,如果我点击关闭按钮(关闭它)它会再次打开 Modal B,为什么? 在我的 Javascript 中,我选择仅在单击“保存”按钮时打开模式 B,而不是关闭按钮。 请问你能帮帮我吗?

这里我的测试有同样的错误: https : //jsfiddle.net/swim89/xso0jw9k/2/

谢谢 :)

为了解决这个问题,我像这样改变了我的代码:

$().ready(function () {
    $("#saveBtn").on('click', function () {
        $('#modalAddressees').modal('hide');
        $('#modalNewAddress').modal('show');
    });
});

Javascript

$().ready(function () {
    const modalA = $('#modalAddressees');
    $("#saveBtn").on('click', function () {
        modalA.modal('hide')
        modalA.off('hidden.bs.modal').on('hidden.bs.modal', function () {
            modalA.modal('show');
        })
    });
});

或者

$().ready(function () {
    const modalA = $('#modalAddressees');
    modalA.on('hidden.bs.modal', function () {
        modalA.modal('show');
    });
    $("#saveBtn").on('click', function () {
        modalA.modal('hide');
    });
});

在隐藏的 bs 模态 id: modalAddAdress 上显示模态 id: modalNewAdress

$('#modalAddressees').on('hidden.bs.modal', function () {
    $('#modalNewAddress').modal('show');
 })

似乎它像你写的那样工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM