我在Bootstrap 3中使用PNotify 3。
我正在尝试使用网站PNotify上的示例
<button class="btn btn-default dropdown-toggle" onclick="(new PNotify({
title: 'Confirmation Needed',
text: 'Are you sure?',
icon: 'glyphicon glyphicon-question-sign',
hide: false,
confirm: {
confirm: true
},
buttons: {
closer: false,
sticker: false
},
history: {
history: false
},
addclass: 'stack-modal',
stack: {'dir1': 'down', 'dir2': 'right', 'modal': true}
})).get().on('pnotify.confirm', function(){
alert('Ok, cool.');
}).on('pnotify.cancel', function(){
alert('Oh ok. Chicken, I see.');
});" data-toggle="dropdown">Modal Confirm Dialog</button>
一切正常,但是当我关闭对话框并单击任意按钮(确定/取消)时,该对话框关闭,但页面未更改为单击该按钮之前的正常状态。
在调查解决此问题的过程中,我发现,
当我单击按钮PNotify时,在
<body>
标签的正下方添加一行:<div class="ui-pnotify-modal-overlay" style="display: block;"></div>
关闭对话框后,PNotify将此代码块更改为:
<div class="ui-pnotify-modal-overlay" style="display: none;"></div>
表示显示:块更改为显示:无
但是问题在于,即使在我的项目中关闭对话框后,PNotify也不会进行任何更改。
任何帮助将不胜感激。
最佳答案
虽然我没有得到任何回应。
但是我自己得到了一个不公平的解决方案。
使用以下代码:
function undoModal() {
var elements = document.querySelectorAll('body > *');
if (elements[0].outerHTML == '<div class="ui-pnotify-modal-overlay" style="display: block;"></div>') {
elements[0].remove();
}
}