我創建了一個具有調用JavaScript函數的onclick事件的錨點。 JavaScript函數返回一些值。我想在另一個JS函數中使用該值。將onclick值返回給JavaScript函數
例如 loading()
將返回一些值,它會傳遞給另一個js函數。如何捕獲並存儲返回值,然後將此值傳遞給該函數?
我創建了一個具有調用JavaScript函數的onclick事件的錨點。 JavaScript函數返回一些值。我想在另一個JS函數中使用該值。將onclick值返回給JavaScript函數
例如 loading()
將返回一些值,它會傳遞給另一個js函數。如何捕獲並存儲返回值,然後將此值傳遞給該函數?
你可以簡單地使用內部函數調用外部函數嗎?
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();"
是這樣的嗎?
<a onClick="loading(myFunction());">
如果myFunction()
是你原來的onClick代碼,它會被傳遞給loading
之後。
實際上,我想存儲該返回值,然後在不同的調用中使用它。 – Ganesh 2012-04-07 12:32:24
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機制
@ Phrogz-它正在使用cookie,因爲我想在另一個頁面上使用返回值,我將它存儲到cookie中並再次使用它,所有人都感謝您的幫助。 – Ganesh 2012-04-09 06:44:35
你在評論中提到你想保存它以備後用。您可以使用一個事實,即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);
我已經編輯了我的答案,以說明您在評論中提到您不想立即使用返回值的事實。 – Phrogz 2012-04-07 13:27:47
就證明了以下您的意見,您在解釋這個問題做得很差到底是什麼你需要。也許你應該編輯你的問題來明確用戶體驗(用戶操作和系統響應)應該是什麼。 – Phrogz 2012-04-07 13:29:12
我同意...但自從你的新的,沒有downvotes。 – 2012-04-07 13:37:45