移動する領域にドラッグ&ドロップ(w/ script.aculo.us)

 今更になってscript.aculo.usを触ってみたんだけど、移動する領域にドラッグ&ドロップする、というのが現状ではできない。バグの様子からおおかた予想がついていたけど、Draggablesオブジェクトのソースを読んでみると、判定用に新たに設けた一枚のdivision(「dropmarker」というid)のポジション設定がabsoluteになっていることが原因だった。
 対処は簡単。領域を移動させる時に、dropmarkerも一緒に移動させればいい。よくあるパターンとして、ドロップ領域がposition:fixedになっていてスクロールに対応してるってか、やりたいけどIEがああぁぁ、ってことじゃないかと思うけど、ここは思い切ってその領域はposition:absoluteに。で、onscrollイベントを拾って、scrollTopをちまちまとドロップ領域とdropmarkerのstyle.topに適用していく。こうすれば、何事もなくDroppables.addが使える。しかもクロスブラウザ。おソースもそこまで汚くならない。かなーりいいことづくめです。
 ちなみに、今日がいつも以上に乱文なのは、週末の疲れがまだ相当残っているからです。正直ねむい…