|
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年半前に書いたコードなので、見れば見るほど書き直したくなってしまうので、 その衝動は抑えつつ、とりあえずなところでリリースしておきます。今書くなら・・・(略 |
| << 前記事(2006/10/22) | トップへ | 後記事(2006/11/12)>> |
| タイトル (本文) | ブログ名/日時 |
|---|
| 内 容 | ニックネーム/日時 |
|---|
| << 前記事(2006/10/22) | トップへ | 後記事(2006/11/12)>> |