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>

を記述していたため起こっていました。