scriptaculous.js(v1.8.1)を使ってソート可能なリストを実装しています。
Sortable.createでonChangeとonUpdateが拾えますが、
ドラッグの開始時と終了時に、onStartとonEndみたいなイベントも拾いたいんですが、うまくいきませんでした。
→ とりあえずdragdrop.jsに手を入れることにしました。
576: var SortableObserver = Class.create({
577: initialize: function(element, observer) {
578: this.element = $(element);
579: this.observer = observer;
580: this.lastValue = Sortable.serialize(this.element);
581: },
582:
583: onStart: function() {
584: this.lastValue = Sortable.serialize(this.element);
// -> ここにドラッグ開始時の処理を書きます
585: },
586:
587: onEnd: function() {
588: Sortable.unmark();
589: if(this.lastValue != Sortable.serialize(this.element))
590: this.observer(this.element)
// -> ここにドラッグ終了時の処理を書きます
591: }
592: });
という感じで、一応機能としては動いていますが、あまりソースには手を入れたくないですね。。。
Draggableオブジェクト作成時にはstarteffectとendeffectが使えますが、Sortableには似たようなものがありますかね。。。
