vex对话框到达两次

时间:2014-10-20 20:20:06

标签: jquery modal-dialog

我使用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;
                    }
                  }
                });
        });

这样可以正常工作,但有时当确认后的网站没有快速加载时,模态对话框会再次出现一段时间。我该如何修理?

感谢 托马斯

1 个答案:

答案 0 :(得分:0)

为了防止在更改window.location后第二次显示任何类型的vex对话框,您可以执行以下操作:

vex.dialog.alert({
  message: "Alert message",
  callback: function() {
    $(".vex").hide(); // This will hide the whole vex component
    window.location = "/";
  }
});