2016-04-05 10 views
1

Global erişim için aşağıdaki iki işlevi aşağıda açıklamaya nasıl giderim? nasıl bu konuda gider Üçüncü komut işlevleri tetiklemek için (/ küresel) gerekir varsayarsakZaten global olarak işlevi nasıl tetikler ve tetiklersiniz?

theme.handleSomething(); 
theme.functionWithinOnReady(); 

: functionWithinOnReady(); ve theme kapsamında

handleSomething(); Birlikte fonksiyonlarını tetikleyebilir en iyi yol?

(function($) { 
    "use strict"; 

    var theme = { 

     onReady : function(){ 
      functionWithinOnReady = function() { 
       //want to access this globally 
      } 
     }, 
     handleSomething: function() { 
      //want to access this globally 
     }, 
     onLoad : function() { }, 
     onResize : function() { } 
    }; 


    $(document).ready(theme.onReady); 
    $(window).load(theme.onLoad); 
    $(window).resize(theme.onResize); 

})(jQuery); 
+0

window.theme = {'.. [Fiddle] (https://jsfiddle.net/rayon_1990/b9LLjnaL/) – Rayon

cevap

1

Sen

(function($) { 
    "use strict"; 

    $.theme = { 

     onReady : function(){ 
      functionWithinOnReady = function() { 
       //want to access this globally 
      } 
     }, 
     handleSomething: function() { 
      //want to access this globally 
     }, 
     onLoad : function() { }, 
     onResize : function() { } 
    }; 


    $(document).ready($.theme.onReady); 
    $(window).load($.theme.onLoad); 
    $(window).resize($.theme.onResize); 

})(jQuery); 

Şimdi her yerde $.theme erişebilir ya pencerenin (global) veya jQuery'ye theme takmak olabilir ve bu jQuery koleksiyonları kullanılacak gerekiyordu, sen onu prototipini olabilir Bunun yerine $.fn.theme.

+0

bu, temanın içindeki tüm işlevleri ortaya çıkarır mı? Sadece tema – user1231561

+0

içinde belirli bir kaç fonksiyonu ortaya çıkarmak için arıyorum Evet, bir nesnenin hangi özelliklerinin maruz kaldığını seçip seçemezsiniz, ya tüm nesne ya da hiçbir şey değildir. Belirli özellikler istiyorsanız, "theme" öğesinde istediğiniz özellikleri referans alan başka bir nesne kullanın. – adeneo

+0

Bu ikincisine veya bu yaklaşıma ilişkin bazı örneklere bakabileceğim herhangi bir başvuruya ilişkin örnekleriniz var mı? – user1231561

İlgili konular