如何阻止我的模态对话框在按钮单击时关闭?

Posted

技术标签:

【中文标题】如何阻止我的模态对话框在按钮单击时关闭?【英文标题】:How can I stop my modal dialog from closing on button click? 【发布时间】:2015-01-17 02:53:10 【问题描述】:

我在引导模式对话框中有这个按钮:

<button id="btnSelectAll" style="float:left">Select All</button>

点击事件看起来像这样,它应该做的只是将一堆复选框标记为选中。

$(document).on('click', '#btnSelectAll', function ()

    var $modal = $('#MyPanel');
    $modal.find('#aCheckBox').prop('checked', true);

);

这是模态本身的标记(删除了细节,因为它有点长,基本上只是一堆最后带有几个按钮的复选框):

   <asp:Panel class="modal" ID="MyPanel" runat="server">
        <div class="modal-dialog modal-lg" style="width:30%">
            <div class="modal-content">
                <div class="modal-header">
                    <asp:Label ID="Header" runat="server" Text="Header" />
                </div>
                <div class="modal-body">
                    <table>
                        <tr>
                            <td style="width: 20px;" />
                            <td>
                                <asp:Label ID="Label" runat="server" Text="Stuff:" />
                            </td>
                           <tr>
                    </table>
               </div>
          </div>
     </div>
</asp:Panel>

我在调试器中看到点击事件代码被点击,但是当我点击按钮时,模式对话框总是立即关闭。我似乎无法在网上找到任何解释原因的东西,谷歌搜索只是给了我一堆“如何在按钮单击时关闭模式”类型的问题。我想知道如何关闭它。

【问题讨论】:

您能否也为您的模态提供标记?任何相关的 JS 也会很有用。 您是否尝试过使用 e.preventDefault(); ? 在模态体中使用按钮和复选框制作了一个快速模态,单击该按钮并选中所有框。不关闭。 jsfiddle.net/wmbs3znt 所以这应该检查一堆复选框?请告诉我,您没有为一堆页面元素提供相同的 ID,因为 $modal.find('#aCheckBox').prop('checked', true); 不应该是您找到多个项目对它们做某事的方式...... @MattD 谢谢,我不得不使用 preventDefault 不知道为什么,因为我的代码的其他所有内容都与您的代码匹配(现在......我没想到一次检查所有复选框并且非常长长的名单哈哈)所以感谢你让我的代码更干净:D 【参考方案1】:

你可以试试e.preventDefault。从jQuery documentation 我们有这个

说明:如果调用此方法,事件的默认动作 不会被触发。

因此,如果您将代码更改为以下内容:

$(document).on('click', '#btnSelectAll', function (event)

    event.preventDefault();
    var $modal = $('#MyPanel');
    $modal.find('#aCheckBox').prop('checked', true);
);

您的问题将得到解决。

【讨论】:

以上是关于如何阻止我的模态对话框在按钮单击时关闭?的主要内容,如果未能解决你的问题,请参考以下文章

如何匹配单击按钮的位置及其模态对话框

使用css或js关闭时如何向右滑动bootstrap 4模态对话框

vc++6.0如何实现在模态对话框编辑框中输入数据,单击确定按钮将数据添加到组合框按钮中!

Ag-grid 中的模态

通过调用 ASP.NET 按钮单击从 jQuery 模态对话框回发

仅当 Laravel 接受确认时才关闭模式