[JavaScript] 日付入力用カレンダーJKL.Calendarをアップデート

JKL.Calendar クラスを半年ぶりにアップデート。
JKL.Calendar は、HTML のフォームに数行書き加えるだけで、日付入力フォームにポップアップの
カレンダー機能が追加されて、簡単に日付を選択できるようにする JavaScript ライブラリです。
 
昨年4月のリリース当初のクラス名は JKL.Calender だったけど、typo なので今さら修正してみた。
Yahoo! UI ライブラリのカレンダー機能がかなり強力なので、こちらはもう更新しないつもりだったけど、
スクリプト冒頭のサンプルコードに誤りがあったので、その修正ついでにいろいろ改良。
もとの JKL.Calender のクラスも別名定義してあるので、今後も利用可能です。
クラス名以外の更新箇所は以下の通り。

1)Code hour さんのコードから、
    ・閉じるボタンの追加
    ・すでにフォームに値がある場合、その日付をハイライト
    ・日付の区切り文字を変更できるように対応 (spliterプロパティ)
  の変更点と一部のソースをマージさせていただきました。

2)選択可能な日付範囲指定用のプロパティ min_date/max_date を追加しました。
  過去の日付のみ、未来のみ、一定期間のみ、といった日付選択が可能です。

3)prototype.js が読み込まれている場合は、カレンダーの各セルのイベント登録に
  onclick プロパティを使わずに、Event.observe() を利用するようにしました。
  (IE のメモリリーク問題は、要素の onclick プロパティとかも影響あるんでしたっけ?)

----
内部構造として、カレンダーのテーブル生成には innerHTML を使っていて、
各セルのイベント登録には getElementById() と Event.observe 等を使う。
スタイルシートは当時の判断として外部 CSS ファイル化せずに、プロパティで変更する。
1年半前に書いたコードなので、見れば見るほど書き直したくなってしまうので、
その衝動は抑えつつ、とりあえずなところでリリースしておきます。今書くなら・・・(略

"[JavaScript] 日付入力用カレンダーJKL.Calendarをアップデート" へのコメントを書く

お名前
ホームページアドレス
コメント