スプーキーズの中の人。

スプーキーズの中の人が徒然なるままに、垂れ流します。

protocalender.js で値が入る前後に何かの処理を実行する方法

いろいろ応用できそうなので、protocalender.js で値が入る前後に何かの処理を実行する方法を書いてみます。

protocalendar.js には今のところ拡張ポイントのようなものは用意されていないのですが(検討中です)、

値を入れる際に、直前の値と比較して何か処理をしたいという要望があったので、現時点でのやり方を解説します。

方法としては、以下のように InputCalendar#changeInputValue をオーバーライドします。

<script type="text/javascript">
Object.extend(
  InputCalendar.prototype,
  {
    changeInputValue: function() {
      this.input.value = this.dateFormat.format(this.calendarController.getSelectedDate(), this.options.lang);
      // TODO
    }
  });

</script>