mlw2000 2009-03-06 14:35
浏览 557
已采纳

模拟阻塞对话框的实现,是不是无法实现?

javascript中有几个模态阻塞对话框需要模拟分别是:alert()prompt()confirm()showModalDialog()

这些对话框的共同特点都是执行代码后,包含该代码的代码段都要停止或者说阻塞,等操作返回时,被阻塞的代码继续执行,类似断点。
通常,我们只所以要进行模拟,目的在于改善用户界面体验,或者说我们不想使用浏览器提供的那种默认的对话框样式,所以,我们想使用div层来进行模拟。
例如:当执行到test函数的第2行时,我们需要阻塞该函数的运行,直到用户执行了模拟弹出框的对应操作。
[code="java"]
function myconfirm(){
/**some code here*/
}
function test(){
var a=1;
if(myconfirm("你确定要测试确认对话框吗,请选择...")){ a=2;}else{a=2;}
if(a==2){alert("成功")}else{alert("失败")}
}
[/code]
ps:实现非阻塞的模拟是比较容易的,但非阻塞的对话框对原有的代码改动非常大,因为他只能使用回调函数的方式来实现。

  • 写回答

4条回答 默认 最新

  • kjah_1 2009-03-10 16:30
    关注

    js没有线程,就更没有线程相关控制,要实现你要的效果只能模拟,
    个人认为使用回调函数完全可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?