2016-04-05 1 views
1

グローバルアクセスのために、以下の2つの機能をどのように公開するのですか?onready関数を公開してグローバルにトリガーする方法はありますか?

私はこの中に取り掛かるだろうか、(/グローバル)第三スクリプトから関数をトリガする必要があるだろうと仮定すると、
theme.handleSomething(); 
theme.functionWithinOnReady(); 

functionWithinOnReady();handleSomething();

themeの範囲内で、私は関数をトリガすることができます一番いい方法?

(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

答えて

1

あなたは今、あなたはどこにでも$.themeにアクセスすることができ、そしてそれはjQueryのコレクションに使用されることになっていた場合、あなたがそれをプロトタイプができウインドウ(グローバル)のいずれかにthemeやjQueryの

(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); 

を付けることができ代わりに$.fn.theme

+0

テーマ内のすべての機能を公開しますか?テーマ – user1231561

+0

の中で選択されたいくつかの機能を公開しようとしているので、オブジェクトのどのプロパティが公開されているのかを選ぶことはできません。特定のプロパティが必要な場合は、 'theme 'で必要なプロパティを参照する別のオブジェクトを使用してください。 – adeneo

+0

後者の例がありますか、またはそのアプローチに関するいくつかの例をどこから参照できますか? – user1231561

関連する問題