从另一个函数调用函数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);
}