2012-04-24 43 views
1

在JavaScript瓦爾我想訪問一個名爲storedata而動態變化的對象事件onclick事件處理程序訪問一個內聯函數

function update_data(storedata) 
{ 
    obj.onclick=function() {remover(this,storedata); }; 
} 

無法將內部函數中訪問storedata變量。

當我嘗試使用警報(obj.onclick)結果出來是卸妝(this,storedata)。它似乎並沒有被它的值所取代!

什麼想法?

回答

2

它被「替換」。問題只是你試圖檢查它的方式。

當你警告一個函數時,你會得到函數的字符串化版本......並且包含變量名稱而不是每個變量的序列化。

如果您真的要調用該函數,該變量將與您提供的值一起使用。

+0

呵呵,謝謝你的幫忙 – Akash 2012-04-24 15:34:04

0

您需要將其附加爲已獲得事件處理程序的對象的屬性。當你storedata是一個字符串,使用的是HTML5,例如,你可以做到這樣的說法:

function update_data(storedata){ 
    obj.dataStoredata = storedata; 
    obj.onclick = function(){ 
     remover(this); 
    }; 
} 

裏面你remover功能的他們,你可以簡單地訪問this.dataStoredata其中將包含您的數據。