我想编写一个 JavaScript 函数,prompt()
或者confirm()
在其中行执行等到提到的函数返回任何内容。
比如说,我有一个函数abc()
会打开一个弹出窗口,然后返回一个值。我想保留调用函数的执行。
function abc(){
//----------
return '';
}
function abc_caller(){
var x = abc();
alert(x);
}
有人可以帮我解决这个问题吗?
我想编写一个 JavaScript 函数,prompt()
或者confirm()
在其中行执行等到提到的函数返回任何内容。
比如说,我有一个函数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 的提议