2017-04-07 22 views
1

明らかに、私のjquery関数は定義されていません。なぜ私は考えていない。スクリプトファイルの前にjqueryを呼び出していますので、そうでない場合はjqueryが正常に機能していました。JQuery関数がスクリプトファイルで定義されていません

(function ($) { 

function selectCharacter(){ 
    $('select.character_select').change(function(){ 

     alert('Select field value has changed to' + $('select.character_select').val()); 



    }); 
} 

})(jQuery); 


selectCharacter(); 
+1

の可能性のある重複(http://stackoverflow.com/questions/111102/how-do-javascript-closures-作業) –

答えて

5

これは範囲の問題です。 functionは新しいスコープを作成します。したがって、関数の外部でプライベート変数を呼び出そうとしています。あなたが機能を呼び出す場所あなたが変更することでこの問題を解決することができます[?JavaScriptの閉鎖が動作するにはどうすればよい]

(function ($) { 
    function selectCharacter() { 
     $('select.character_select').change(function() { 
      alert('Select field value has changed to' + $('select.character_select').val()); 
     }); 
    }  
    selectCharacter(); 
})(jQuery); 
関連する問題