3

我创建了一个带有调用 JavaScript 函数的 onclick 事件的锚点。JavaScript 函数返回一些值。我想在另一个 JS 函数中使用该值。

例如 loading(),将返回一些值,该值将传递给另一个 js 函数。如何捕获和存储返回值,然后将此值传递给该函数?

4

4 回答 4

5

你能简单地用内部函数调用外部函数吗?

function outerFunc(a)
{
  alert(a);
}

function innerFunc()
{
  return 'test';
}

onclick="outerFunc(innerFunc());"

或者,如果您需要在另一个事件中使用返回值,请设置一个变量。

var retval;
function outerFunc()
{
  if(retval) alert(retval);
}

function innerFunc()
{
  retval = 'test';
  return retval;
}

onclick="return innerFunc();"

在另一个 onclick 事件中

onclick="return outerFunc();"
于 2012-04-07T11:39:27.047 回答
0

a)使用全局变量,例如(

var passVar=null;

function A(){
  //set value
  passVar='hello';
}

function B(){
  //get value 
  alert(passVar);
}

b) 如果您的函数在另一个使用存储值的页面上,您可能正在使用 setItem() 、getItem() 和浏览器的更多高级功能来使用 b rowser 会话存储 机制

于 2012-04-07T13:19:56.740 回答
0

您在评论中提到要保存以备后用。您可以使用 JavaScript 函数是闭包这一事实,因此可以访问在同一范围内声明的局部变量:

var clickedValue; // No need to set a value here, just declare is

myAnchor.addEventListener('click',function(evt){
  // Call the other function, setting the 'this' scope to be the anchor
  // The scope of the variable set it the one above
  clickedValue = someFunction.call(myAnchor,evt);
},false);

/* later on… */

otherFunction(clickedValue);
于 2012-04-07T13:20:28.583 回答
-1

像这样的东西?

<a onClick="loading(myFunction());">

如果myFunction()是您的原始 onClick 代码,它将被传递给loading之后。

于 2012-04-07T11:38:36.030 回答