2013-10-08 48 views
0

我已用自定义对话框覆盖了默认警报框。 但我希望脚本暂停,直到点击对话框上的取消按钮。 如何使用javascript或jquery实现它?使用自定义警报框暂停脚本的执行

附::我试图做一个对话框,它具有与警告框相同的功能。

+2

覆盖您的自定义对话框,默认的警告框... – Christophe

回答

1

不能使用JavaScript编写阻塞代码,因为它是单线程的运行同一个线程中UI上,在这里看到:Blocking "wait" function in javascript?

你可以通过回调或事件做的是被解雇时,您的自定义警报盒子被关闭。

function CustomAlert(message, callback) 
{ 
    alert(message); 
    callback(); 
} 

function CodeWhichGetsBlocked() 
{ 
    DoSomething(); 
    CustomAlert("continue?", function() { 
     DoSomething(); 
    }); 
} 
+0

如果我有一个对话框回调将无需等待我点击取消按钮执行覆盖警报。 我希望脚本暂停,直到点击取消按钮。 – Sanjeev

+0

是的,您必须在点击取消按钮时执行回调。我只是举了一个例子。 – Gigo

0

我将使用动态HTML。

var $divAlert = $("<div>Are you sure going to next step?</div>"); 

$divAlert.dialog({ 
       autoOpen: true, 
     height: "auto", 
     width: "auto", 
     modal: true, 
     buttons: { 
      "OK": function(){ 
       //Your Code/Logic goes here 
      }, 
        "Cencel": function(){ 
         $(this).dialog("close"); 
        }, 
     } 
}); 

你也可以在设计的temters中自定义你的对话框只需添加class。

一样,

dialogClass: "MyDialog" 
+0

老板! 我正在尝试使对话框与警报类似...即当出现对话框时应该暂停脚本的执行。 – Sanjeev