如何从回调功能中设置值?

时间:2012-08-21 21:17:54

标签: javascript

我正在使用一些现有的javascript,我有以下代码:

launchDialog(myUrl,function(result, returnValue){
   //whatever
});

此代码启动一个模态窗口,当该窗口关闭时,将触发回调函数。

我想知道的是,如果我可以从模态执行一些javascript ,那么我可以设置回调函数的returnValue参数吗?

供参考:

不确定是否重要,但这是现有SharePoint javascript的一个愚蠢版本。我无法更改lauchDialog函数的功能,但我可以将javascript添加到模态和回调函数。

2 个答案:

答案 0 :(得分:0)

function tryMe (param1, param2) {
    alert(param1 + " and " + param2);
}

function callbackTester (callback) {
    callback (arguments[1], arguments[2]);
}

callbackTester (tryMe, "hello", "goodbye");

有一个例子,我认为这就是你想要做的事情。

使用以下来源:JavaScript: Passing parameters to a callback function

答案 1 :(得分:0)

如果我正确理解了您的问题,您可以将returnValue存储在与模态共享的外部变量中。

var myApp = {}; // your namespace
myApp.returnValue = 'something'; // you can override this wherever

launchDialog(myUrl, function(result, returnValue){
   returnValue = myApp.returnValue;
});