模态对话框不会用 stopPropagation 关闭
Modal Dialog box does not close with stopPropogation
我有以下对话框:
<div class="modal fade PSettings" id="ModalMsg" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
这是我的 jquery 代码:
$(".btn").click(function (evt) {
var wID = $('#MPID :selected').val();
if (wID.length == 0) {
evt.preventDefault();
$('#ModalMsg .modal-body').html('<p><b>Please select a valid name from the drop down list.</b></p>');
$('#ModalMsg').modal({
backdrop: 'static',
keyboard: false,
show: true
});
evt.stopPropagation();
}
});
我 运行 遇到的问题是我喜欢显示对话框并允许用户单击“关闭”按钮。当用户点击关闭按钮时没有任何反应。
点击关闭按钮后,我想停止传播,因为点击按钮会触发另一个动作。
我认为如果您只想控制 hide/show 模态事件,则不需要对所有 events/listeners 进行操作。使用 'hide.bs.modal' 模态事件。它会在您尝试关闭模态时触发。并在此函数中返回 true 或 false 将启用或禁用关闭模式。
$(".modal").on("hide.bs.modal", function(){
return false; // you should return true if you want to close dialog, otherwise you should return false
// so change 'false' in my example to your conditions
});
我有以下对话框:
<div class="modal fade PSettings" id="ModalMsg" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
这是我的 jquery 代码:
$(".btn").click(function (evt) {
var wID = $('#MPID :selected').val();
if (wID.length == 0) {
evt.preventDefault();
$('#ModalMsg .modal-body').html('<p><b>Please select a valid name from the drop down list.</b></p>');
$('#ModalMsg').modal({
backdrop: 'static',
keyboard: false,
show: true
});
evt.stopPropagation();
}
});
我 运行 遇到的问题是我喜欢显示对话框并允许用户单击“关闭”按钮。当用户点击关闭按钮时没有任何反应。
点击关闭按钮后,我想停止传播,因为点击按钮会触发另一个动作。
我认为如果您只想控制 hide/show 模态事件,则不需要对所有 events/listeners 进行操作。使用 'hide.bs.modal' 模态事件。它会在您尝试关闭模态时触发。并在此函数中返回 true 或 false 将启用或禁用关闭模式。
$(".modal").on("hide.bs.modal", function(){
return false; // you should return true if you want to close dialog, otherwise you should return false
// so change 'false' in my example to your conditions
});