如何阻止我的模态对话框在按钮单击时关闭?
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如何实现在模态对话框编辑框中输入数据,单击确定按钮将数据添加到组合框按钮中!