2016-06-15 18 views
-1

私は、JSファイルの外部の関数を呼び出すようにしようとしていたが、その機能は、私は内部JavaScriptを呼び出す私の側では、変数にコール変数機能

external.js is the third party library which i shouldn't edit

jQuery(function(){ 
    var submit_clicked={ 
    cart_submit: function() { 
    alert("yes variable function is have scope outside"); 
    } 
    } 

}); 

以下、このような何かを宣言されています

jQuery(function() { 
    alert(submit_clicked.cart_submit); 
}); 

のようなもの、それは

Reference Error: submit_clicked is not defined

012を表し、

この問題を解決する方法がわかりません。誰もがいくつかのアイデアを提案することができます素晴らしいでしょう:)

ここは私のフィドルです。 https://jsfiddle.net/rr2v4fhb/

FYI:外部のjsの隣にスクリプトを呼び出しますが、そのスコープは使用できません。

+2

外部ファイルにjQueryレディハンドラ関数の「submit_clicked」関数* outside *を定義します。すべての変数にアクセスする必要がある複数のファイルがある場合は、独自の名前空間を作成する必要があります。 –

+0

ローカル変数とグローバル変数の意味を理解していますか? [JSモジュールを見る](https://medium.freecodecamp.com/javascript-modules-a-beginner-s-guide-783f7d7a5fcc#.sap2mg3ug) –

答えて

1

問題はexternal.jsファイルにあります。 jquery()ハンドラの外側に変数を宣言してください。これが問題を解決するはずです。

外部ファイルを編集できない場合は、そのスコープがローカルであるため(グローバル変数)、変数関数にアクセスできません。