Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery对话框时如何停止脚本?_Javascript_Jquery_Jquery Ui Dialog - Fatal编程技术网

Javascript 使用jQuery对话框时如何停止脚本?

Javascript 使用jQuery对话框时如何停止脚本?,javascript,jquery,jquery-ui-dialog,Javascript,Jquery,Jquery Ui Dialog,我相信这已经被问过很多次了。我看到的是2012年12月。但我想问一下,是否有人对此问题有解决方案/更好的解决方法 我正在使用jQueryUI对话框,我想问,当对话框弹出且用户尚未选择答案时,是否可以停止脚本执行。就像javascriptconfirm()一样 以下是我目前掌握的情况: jQuery $("#GlobalDialogBox").dialog({ modal: true, buttons: { "Yes": function () {

我相信这已经被问过很多次了。我看到的是2012年12月。但我想问一下,是否有人对此问题有解决方案/更好的解决方法

我正在使用
jQueryUI对话框
,我想问,当对话框弹出且用户尚未选择答案时,是否可以停止脚本执行。就像javascript
confirm()
一样

以下是我目前掌握的情况:

jQuery

$("#GlobalDialogBox").dialog({
        modal: true,
        buttons: {
        "Yes": function () { 
            callbackFunctionTrue();
            $(this).dialog('close'); 
         },
        "No": function () { 
            callbackFunctionFalse();
            $(this).dialog('close'); 
         }
      }
    });

   alert("This should fire after answering the dialog box."); //but this fires as soon as the dialog pops up.. :(
警报
是脚本的一个常见部分,在回答对话框后会触发,而不管回答是什么。在我的修复中,我刚刚在
callbackFunctionTrue()
callbackFunctionFlase()
中插入了
alert
,它就完成了任务


但是如果我不想那样做呢?当对话框弹出时,如何停止脚本,以便在
对话框
脚本下自由添加代码?有谁有更好的解决办法吗?任何帮助都将不胜感激!提前谢谢!:]

您可以使用返回按钮来停止该功能。

当对话框关闭时,它会触发关闭事件。您可以通过向对话框中添加事件侦听器来完成此操作:

$("#GlobalDialogBox").on( "dialogclose", function( event, ui ) {
      alert("something");
});
或者以更一致的方式:

$("#GlobalDialogBox").dialog({
    modal: true,
    buttons: {
        "Yes": function () { 
            callbackFunctionTrue();
            $(this).dialog('close'); 
         },
        "No": function () { 
            callbackFunctionFalse();
            $(this).dialog('close'); 
         }
    },
    close: function(event, ui){
       alert("something");
    }
});

您不能随意暂停脚本执行。在这种情况下,回调函数是最好的解决方案,因此在对话框上的按钮选项下面添加一个关闭事件处理程序,并在对话框关闭后将您的警报和任何其他要执行的代码放在其中。

不确定您为什么不想这样做。你所实现的和我在相同情况下所实现的一样,而且效果很好。在自己的JavaScript函数中启动对话框,并根据单击的元素启动yes/no函数。不需要警报框。

他要求暂停而不是停止
function dialog_confirm(){
  $( "#dialog-confirm" ).dialog({
    //autoOpen: false,
    resizable: false,
    height:140,
    modal: true,
    buttons: {
      "Delete all items": function() {
        $( this ).dialog( "close" );
        dialog_confirm_callback(true);
      },
      Cancel: function() {
        $( this ).dialog( "close" );
        dialog_confirm_callback(false);
      }
    }
  });
}
function dialog_confirm_callback(value) {
  if (value) {
    alert("Confirmed");
  } else {
    alert("Rejected");
  }
}