【发布时间】:2017-08-04 22:44:55
【问题描述】:
如果用户在模式外单击或按 ESC,我想防止关闭引导模式。我知道这个问题被问了很多次,但他们没有帮助
我的模态
<div class="modal fade modal-popup confirm-uploaded-image-popup" id="uploadedImagePopup" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog modal-popup-content" role="document">
<div class="confirm-uploaded-image-popup-img"></div>
<div class="modal-popup-desc">{!! trans("You have uploaded a picture. Are you sure you want to add it to your gallery?") !!}</div>
<button class="btn btn-very-light-gray confirm-uploaded-image-popup-cancel">{{ trans('Cancel') }}</button>
<button class="btn btn-green confirm-uploaded-image-popup-ok">{{ trans('OK') }}</button>
</div>
</div>
文件上传后出现模态(从表单)。
window.showRegisteruploadConfirmPopup = function(regupload, okCallback, cancelCallback){
var $popup = $('#uploadedImagePopup');
var $popupImg = $popup.find('.confirm-uploaded-image-popup-img');
var $okBtn = $popup.find('.confirm-uploaded-image-popup-ok');
var $cancelBtn = $popup.find('.confirm-uploaded-image-popup-cancel');
//use a boolean flag to avoid successive popups calling previous popup's callbacks
//this variable is separate for each popup
$popupImg.css('background-image', 'url(' + regupload['path'] + ')');
window.lastReguploadId = regupload['id'];
//these handlers are attached to the same element, so prevent multiple handlers from multiple uploads
$okBtn.on('click', function(){
//only execute callback if it's still the same element, not overriden by a new upload
if(window.lastReguploadId == regupload['id']){
okCallback.call(window);
$popup.hide();
}
});
$cancelBtn.on('click', function(){
//only execute callback if it's still the same element, not overriden by a new upload
if(window.lastReguploadId == regupload['id']){
cancelCallback.call(window);
$popup.hide();
}
});
$popup.modal("show");
}
我已经有很多变体,例如$popup.modal('show', {backdrop: 'static', keyboard: false; 也将属性设置为模态元素<div class="modal fade modal-popup confirm-uploaded-image-popup" data-backdrop="static" data-keyboard="false">,但没有任何效果。
【问题讨论】:
标签: jquery twitter-bootstrap twitter-bootstrap-3 modal-dialog bootstrap-modal