应用div模拟prompt存在的未能解决的问题

javascript中有几个模态阻塞对话框需要模拟分别是:


alert()
prompt()
confirm()
showModalDialog()


这些对话框的共同特点都是执行代码后,包含该代码的代码段都要停止或者说阻塞,等操作返回时,被阻塞的代码继续执行,类似断点。
通常,我们只所以要进行模拟,目的在于改善用户界面体验,或者说我们不想使用ie提供的那种默认的对话框样式,所以,我们想使用div层来进行模拟。
而模拟的难点其实在于如何实现一个类似于其他多线程编程语言中提供的Sleep()函数,但是,javascript是单线程执行的,这一点很可能不久的将来会得到改变,比如,以后很可能会支持如下的javascript脚本

function  getValue()
{
   
while( document.getElementById("name").value == "" )
   
{
        window.sleep(
100);//#####将来或许能支持,当前尚不支持该函数
   }

   
return document.getElementById("name").value
}

 

这段代码虽然很简单,但是,我认为,如果能实现该功能了,那么,对上面提到的模拟工作就没有问题的了。其实,我们真正需要的是一个能够使线程进入休眠状态从而让出时间片的sleep()函数,为什么这样说,如果上面的函数写成了像下面的样子,尽管功能是相同的,但是,确会使得程序进入死循环而造成页面假死状态

function  getValue()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值