2012-01-03 8 views
7

यह मेरा मुद्दा है this जो स्पष्ट रूप से काम नहीं करेगा क्योंकि यह बाहरी फ़ंक्शन में है।jQuery कॉलबैक भीतर पैरेंट ऑब्जेक्ट जाओ

जेएस ऑब्जेक्ट में केवल एक बार greatapp नाम कैसे है?

+0

देखें self पर एक बंद http://stackoverflow.com/questions/183702 बनेगी/अभिगम-अभिभावक-अभिभावक-से-जावास्क्रिप्ट-ऑब्जेक्ट – Ivan

उत्तर

10

एक आम जावास्क्रिप्ट मुहावरा me या self की तरह एक चर में this का मूल्य बचाने के लिए, और का उपयोग करें कि कॉलबैक में है।

इस के बाद से कॉलबैक चर enclosing में घोषित की पहुंच है काम करेंगे गुंजाइश-दूसरे शब्दों में कॉलबैक

var greatapp = { 
    start : function(){ 
    var self = this; 
    $.AJAX({ 
     url : 'foo.com', 
     success : function(data){ 
     self.say(data); 
     } 
    }) 
    }, 

    say : function(s){ 
    console.log(s); 
    } 
} 
+0

धन्यवाद! यह काम करता है :) – Ryan

+0

@Ryan - मेरी खुशी - शुभकामनाएं –

संबंधित मुद्दे