我使用vex对话框库(http://github.hubspot.com/vex/)来构建经典的取消对话框:
<a rel="link.php?action=cxl&id=124" title="Delete?">Delete this entry</a>
$('a.confirm').click(function() {
var page = $(this).attr('rel');
var text = $(this).attr('title');
vex.dialog.confirm({
message: text,
buttons: [
$.extend({}, vex.dialog.buttons.YES, {
text: 'No'
}), $.extend({}, vex.dialog.buttons.NO, {
text: 'Yes'
})
],
callback: function(value) {
if(value === false) {
//load the a href-site
window.location.href = page;
return false;
} else {
// cancel;
return false;
}
}
});
});
这样可以正常工作,但有时当确认后的网站没有快速加载时,模态对话框会再次出现一段时间。我该如何修理?
感谢 托马斯
答案 0 :(得分:0)
为了防止在更改window.location后第二次显示任何类型的vex对话框,您可以执行以下操作:
vex.dialog.alert({
message: "Alert message",
callback: function() {
$(".vex").hide(); // This will hide the whole vex component
window.location = "/";
}
});