TypeError: xxxx is not a function
いわゆる jsの「変数巻き上げ問題」の派生で、関数も後ろで代入されているとundefined扱いになるようです。
ただ、これに気をつけて宣言&代入を全て先頭にもってきていても、このエラーがでるケースがあります。
そういうとき且つjQueryライブラリを使用しているときは、
- 読み込む順番がおかしい
もしくは
- 読み込むファイルが足りてない
という可能性があります。
自分の場合、datePickerというライブラリを使っていましたが、
<script type="text/javascript" src="/jb/js/jquery/jquery.datePicker.js"></script> <script type="text/javascript"> $(document).ready(function(){ 〜〜〜 datepicker()処理
この下に
<script type="text/javascript" src="../jb/js/jquery/jquery-ui-1.8.13.custom.min.js"></script>
を記述していたため起こっていました。