jQuery UI 模式对话框不阻塞

标签 jquery user-interface dialog modal-dialog blocking

我是 javascript 和 jQuery 新手。我正在尝试使用 jQuery UI 小部件实现模式对话框。

模式对话框正确显示了“确定”和“取消”按钮,但对话框('open')函数调用似乎不会阻止并等待“确定”或“取消”单击。例如,当我运行以下代码时

.....点击按钮

  okToDelete = false; //a global variable
  $('deleteDialog').dialog('open'); //this does not block but returns immediately
  alert(okToDelete == true ? "ok" : "false");

首先显示警告框,然后然后显示模式对话框! okToDelete 是一个全局变量,我在进入函数时设置为 false,并在“确定”按钮回调中设置为 true。

这是我的对话框初始化函数

$("#deleteDialog").dialog({
        bgiframe: true,
        autoOpen: false,
        modal: true,
        overlay: {
            backgroundColor: '#000',
            opacity: 0.5
        },
        buttons: {
            Cancel: function() {
                $(this).dialog('close');

            },
            Ok: function() {
                $(this).dialog('close');
                okToDelete = true;
            }
        }
    });

最佳答案

这并不是要“阻止”。如果您想在对话框关闭后显示警报(我假设这是为了测试)或调用其他函数,如果您将其放置在 callbackok 中,取消功能。

看看这个:
http://docs.jquery.com/UI/Dialog#event-close

文档中的事件close:
该事件在对话框关闭时触发。
代码示例

提供回调函数来处理关闭事件作为 init 选项。

$('.selector').dialog({
   close: function(event, ui) { ... }
});

通过类型绑定(bind)到关闭事件:dialogclose。

$('.selector').bind('dialogclose', function(event, ui) {
  ...
});

关于jQuery UI 模式对话框不阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1733771/

相关文章:

javascript - 提交 from,由 ajax 请求处理

linux - 终端:在窗口中打开当前路径?

java - 可以向 JBUTTON 添加 html img 吗?

delphi - 使用 fontdialog 和 RichEdit 更改事件控件

如果从计时器任务调用,Android 对话框根本不显示

内联时未定义javascript变量

javascript - JQuery .click() 不工作可能会干扰 angularJS

javascript - Ajax PHP 返回空文件

java - ActionListener 将变量的当前值重置为默认值

jquery - 访问 JQuery 对话框中的变量