jQuery UI模式对话框没有阻塞

Sou*_*jan 10 jquery user-interface dialog modal-dialog blocking

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

模式对话框使用"确定"和"取消"按钮正确显示,但对话框("打开")函数调用似乎没有阻止并等待"确定"或"取消"单击.例如,当我运行以下代码时

.....按钮点击

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

首先显示警告框,然后显示模态对话框!okToDelete是一个全局变量,当我输入函数并在OK按钮回调中设置为true时,我将其设置为false.

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

$("#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;
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

o.k*_*k.w 11

它并不意味着"阻止".如果你想显示警报(我认为是用于测试)或对话框关闭后调用等功能,如果你到内放置callback或ok,cancel功能.

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

close来自文档的事件:
关闭对话框时会触发此事件.
代码示例

提供一个回调函数来处理close事件作为init选项.

$('.selector').dialog({
   close: function(event, ui) { ... }
});
Run Code Online (Sandbox Code Playgroud)

通过类型绑定到close事件:dialogclose.

$('.selector').bind('dialogclose', function(event, ui) {
  ...
});
Run Code Online (Sandbox Code Playgroud)