jQuery-UI Dialog Widget - 限制允许触发的次数

jQuery-UI Dialog Widget - Limit number of times allowed to be triggered

有没有办法限制在页面重新加载之前触发对话框出现的次数?具体来说,我正在使用 jQuery UI 对话框小部件。我希望有某种方法可以将其输入到小部件的选项中 - 我想它看起来像

// div#notice is the name of the dialog element, 
// with style="display:none" by default
$("#notice").dialog({
    dialogClass: "noticeDialog",
        buttons: [{
            text: "OK",
            click: function() {
                $(this).dialog("close");
            }
        }],
        repeat: 1 // A Dialog option equivalent to this does not exist to
                  // my knowledge
 }

我能想到的实现此目的的唯一方法是让对话框从 'close' 选项回调函数内的 DOM .remove() 本身。类似于:

$(".selector").dialog({
    close: function() {
        $(#"dialogBox").remove();
    }
});

不过,我觉得这不会像希望的那样工作。有什么更好的选择?如果有一种方法可以在对话框上设置超时,那也有助于 and/or 实现类似的效果。

在触发对话框的代码中执行此操作。首先,初始化一个计数器:

var dialog_counter = 0;
var dialog_limit = 5;

然后在显示对话框的代码中,递增并测试它:

if (++dialog_counter <= dialog_limit) {
    $("#notice").dialog({
        ...
    });
}