如何编写像prompt / confirm这样的JavaScript函数

时间:2013-03-13 07:33:52

标签: javascript

我想写一个像prompt()confirm()这样的JavaScript函数,其中行执行等到所提到的函数返回任何内容。

说,我有一个函数abc(),它会打开一个弹出窗口,然后返回一个值。我想保持执行函数的位置。

function abc(){
    //----------
    return '';
}

function abc_caller(){
    var x = abc();
    alert(x);
}

有人可以帮我解决这个问题吗?

3 个答案:

答案 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提议的相似