从另一个函数调用函数javascript

从另一个函数调用函数javascript,javascript,jquery,Javascript,Jquery,我有两个功能First包含Jquery UI对话框,并从Second函数调用。比如: function First() { $('div').dialog({ buttons: { "Ok": function () { /* code */ } } }); } function Second() { First(); /* rest of this function code is

我有两个功能
First
包含Jquery UI对话框,并从
Second
函数调用。比如:

function First() {
    $('div').dialog({
        buttons: {
            "Ok": function () { /* code */
            }
        }
    });
}

function Second() {
    First();
    /* rest of this function code is depend upon the "Ok button" 
       function code */
}

现在我的问题是,在首先调用函数
之后,脚本的执行不会等待对话框的Ok按钮按下。我应该怎么做,这样只有在按下
Ok按钮之后,控件才会从函数
First

返回,这是因为您已经给出了一个括号
First()
,一旦解析器遇到该行,就会调用该函数

您可以使用两种Javascript方法中的一种来调用函数或。通过使用此选项,您的函数不会在遇到时立即执行

查看此参考资料


请尝试使用此函数,如果它不起作用,请告诉我。

这是因为您先给了一个括号
First()
这将在解析器遇到该行时立即调用该函数

您可以使用两种Javascript方法中的一种来调用函数或。通过使用此选项,您的函数不会在遇到时立即执行

查看此参考资料


请尝试使用此函数,并告诉我它是否不起作用。

在调用
第一个
后,从函数
第二个
移动到第二个函数(此处称为
第二个处理程序
)。使用新参数(此回调函数)调用
First
,并在函数
First
中的“ok”(确定)中调用此函数:

function First(okCallback) {
    $('div').dialog({ 
        buttons : {
            "Ok" : okCallback
        }
    });
}

function Second () {
    First(SecondOkHandler);
}

function SecondOkHandler() {
    /* rest of this function code is depend upon the "Ok button" function code */
}
另见

==更新===


为了使它更复杂,这里有更多的回调。

从函数
第二个
调用
第一个
后的部分移动到第二个函数(这里称为
第二个处理程序
)。使用新参数(此回调函数)调用
First
,并在函数
First
中的“ok”(确定)中调用此函数:

function First(okCallback) {
    $('div').dialog({ 
        buttons : {
            "Ok" : okCallback
        }
    });
}

function Second () {
    First(SecondOkHandler);
}

function SecondOkHandler() {
    /* rest of this function code is depend upon the "Ok button" function code */
}
    function First(waitTillOk) {
        $('div').dialog({
            buttons: {
                "Ok": function () { 
                      /* code */
                      if(typeof waitTillOk == "function"){
                        waitTillOk();
                      }
                }
            }
        });
    }

    function Second() {
        var waitTillOk = function(){
         /* rest of this function code is depend upon the "Ok button" 
           function code */
     }
     First(waitTilOk);
    }
另见

==更新===


让它更复杂,,这里有更多回调。

使用OK按钮的回调选项在OK函数中写入代码在
第一次
函数调用后移动代码
第二次
函数到
OK按钮单击
使用OK按钮的回调选项在OK函数中写入代码在
第一次
函数调用后移动代码
第二个
功能到
确定按钮点击
    function First(waitTillOk) {
        $('div').dialog({
            buttons: {
                "Ok": function () { 
                      /* code */
                      if(typeof waitTillOk == "function"){
                        waitTillOk();
                      }
                }
            }
        });
    }

    function Second() {
        var waitTillOk = function(){
         /* rest of this function code is depend upon the "Ok button" 
           function code */
     }
     First(waitTilOk);
    }