日期:2014-05-16  浏览次数:20365 次

求js模拟alert()方法的阻塞功能
在调用alert()方法后,因为JS的阻塞特性,alert()后面的js代码不会执行,
我用一个DVI模拟alert弹出框,但是怎么阻塞后面代码执行呢?
求高手指教。
------解决方案--------------------
我觉得你可以换一个思路啊,把后面的代码放到一个函数里,当阻塞结束的时候运行该函数。
如果你的“alert”是复用的插件,可以把它封装起来,每次调用的时候传给它阻塞结束后的回调函数。
------解决方案--------------------
如果div上有按钮,将后边的代码封装在一个函数中,然后绑定在按钮的click事件上。
------解决方案--------------------
只能回调,不用想了,div模拟的挂起不了js代码的继续执行
------解决方案--------------------
试试用调试语句中断
------解决方案--------------------
居然嫌回调函数麻烦,这个说法我想不会有人赞同,呵呵;
回调函数才是正确的做法,你非得阻塞式的,直接用alert不就行了,
或者用window.showModalDialog('xxx.html'); 这个是阻塞的,模态打开一个页面,可以完全打倒你的要求.
但这种方式是落后的,只要在这行发展,以后你会知道的
------解决方案--------------------
js 模拟 都是用回调。

换个思路。

http://blog.csdn.net/hch126163/article/details/5989554
------解决方案--------------------
引用:
引用:居然嫌回调函数麻烦,这个说法我想不会有人赞同,呵呵;
回调函数才是正确的做法,你非得阻塞式的,直接用alert不就行了,
或者用window.showModalDialog('xxx.html'); 这个是阻塞的,模态打开一个页面,可以完全打倒你的要求.
但这种方式是落后的,只要在这行发展,以后你会知道的
现在就想知道为啥落后……

模式对话框会阻塞主页面进程,如果用户还需要操作主页面的东西,模式对话框无能为力。
------解决方案--------------------
自己找些知名网站看看就知道为啥落后了,比如qq空间,qq秀世界,看看人家的页内对话框什么样子就明白了
列举几个:
1.阻塞本身就是落后;
2.样式粗陋且无法改变;
3.关闭提示无法做,出于安全性,很多浏览器无法实现点击关闭按钮时弹出确认提示的功能;