这个问题在这里已有答案:
我想编写一个像prompt()
或confirm()
这样的JavaScript函数,其中行执行等到所提到的函数返回任何内容。
说,我有一个函数abc()
,它将打开一个弹出窗口,然后返回一个值。我想保持调用函数的执行。
function abc(){
//----------
return '';
}
function abc_caller(){
var x = abc();
alert(x);
}
有人可以帮我这个吗?
你的代码应该是 -
function abc_caller(){
var x = abc();
var r=confirm("Your value is " + x);
if (r==true)
{
alert("You pressed OK!")
}
else
{
alert("You pressed Cancel!")
}
}
更多http://www.w3schools.com/jsref/met_win_confirm.asp的例子。
希望这对你有所帮助。
这不是浏览器构建者希望您做的事情。如果一段Javascript在一定时间内没有响应,浏览器将开始认为出现了问题,并会询问用户是否要阻止javascript运行。
您应该创建一个回调函数。
您可以使用回调: 你的功能
function abc(callback){
// whatever code here
var result = ""; // or whatever processing result would be
if (callback)
{
callback(result);
}
}
用法:
abc(function(result){
alert(result);
});
编辑:我认为这与@mrhobo提议的类似