将onclick值返回给JavaScript函数

时间:2012-04-07 11:34:56

标签: javascript html

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

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

4 个答案:

答案 0 :(得分:3)

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

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();"

答案 1 :(得分:0)

a)使用global variable例如(also

var passVar=null;

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

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

b)如果您的函数位于消耗存储值的另一页面上,您可能正在使用setItem(),getItem()和浏览器的更多高级功能来使用b rowser session storage机制

答案 2 :(得分: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);

答案 3 :(得分:-1)

这样的东西?

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

如果myFunction()是您的原始onClick代码,则之后会传递给loading