只是想知道是否以编程方式停止脚本的执行,就像javascript函数“confirm”一样。 “确认”停止进一步执行脚本直到用户输入,我想为Jquery的BlockUI插件做同样的事情。
答案 0 :(得分:3)
否,你不能。
与confirm
函数一样,alert
是一个模态对话框,只不过是 child window that requires users to interact with it before they can return to operating the parent application, thus preventing the workflow on the application main window。
Javascript没有 sleep -ing机制。如果你想停止执行一个脚本...只能通过执行另一个内存/ CPU昂贵的脚本(例如无限循环)来冻结浏览器(从而停止执行目标脚本),但是有点打败了目的。
如果您知道自己想要做什么,就可以组织代码,以便模拟 sleep 过程。
这样做的好方法是使用回调和超时:
function f1(callback){
// do some stuff
// decide how much you want to wait
setTimeout(callback,how_much_you_want_to_wait);
}
答案 1 :(得分:2)
我不认为它可能......你能做的最好的是,
callbacks
或'jquery binders'或'event listers'来执行其余代码一个粗略的例子可能是,
function showDialog(fn){
$('#overlay').show()
$('#dialog').show().click(fn); // ideally bind the click to the close button of the dialog
}
现在,要显示对话框,
// code before the dial
showDialog(function(){
// execute rest of the code
})
答案 2 :(得分:0)
Javascript没有sleep
功能可能在其他语言中可用。你能做的最好的就是setTimeout
。
您可能会进行while true
样式循环,但这只会刺激CPU使用量,这通常是不鼓励的。