我想写一个像prompt()
或confirm()
这样的JavaScript函数,其中行执行等到所提到的函数返回任何内容。
说,我有一个函数abc()
,它会打开一个弹出窗口,然后返回一个值。我想保持执行函数的位置。
function abc(){
//----------
return '';
}
function abc_caller(){
var x = abc();
alert(x);
}
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
您的代码应为 -
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中的更多示例。
希望这对你有所帮助。
答案 1 :(得分:0)
这不是浏览器构建者希望您做的事情。如果一段Javascript在一定时间内没有响应,浏览器就会开始认为有问题,并会询问用户是否要阻止javascript运行。
您应该创建一个回调函数。
答案 2 :(得分:0)
你可以使用回调:
您的功能
function abc(callback){
// whatever code here
var result = ""; // or whatever processing result would be
if (callback)
{
callback(result);
}
}
用法:
abc(function(result){
alert(result);
});
编辑:我认为这与@mrhobo提议的相似