2011-12-27 53 views
4

如果我通過數據對象的功能,如:如何找出哪些元素保存數據對象

$("#someobject").data({ 
    "prp1":"x", 
    "dosomething":function(){ 
    callthisfunction(this); //<---- HERE the data ref is sent to a function 
    } 
}); 

... 
function callthisfunction(in_data) 
{ 
    //how is the data element? 
    var theElementHoldingTheDataIs = in_data.????; //<--- how can I get $("#someobject") 


} 

我的問題是:是否有從數據的方式通知到哪個對象這取決於還是屬於?

+0

如何以及何時叫'dosomething'功能? – Samich 2011-12-27 14:24:35

+0

當你的代碼站立時,'callthisfunction'永遠不會被執行,所以這個問題是沒有意義的。 – Blazemonger 2011-12-27 14:28:45

回答

2

您可以使用封閉:

var obj = $("#someobject"); 
obj.data({ 
    "prp1": "x", 
    "dosomething": (function(scope) { 
     return function() { 
      callthisfunction(scope); //<---- HERE the data ref is sent to a function 
     } 
    })(obj) 
}); 

Example


或者,如果你只是要發送的數據對象:

var obj = $("#someobject"); 
obj.data({ 
    "prp1": "x", 
    "dosomething": (function(scope) { 
     return function() { 
      callthisfunction(scope.data()); 
     } 
    })(obj) 
}); 
相關問題