jQueryで並び替えしたいけど、できなかった話

jQueryのSortable機能を利用して、要素の並び替えがドラッグ&ドロップでできるらしく、人のコードを真似して作ってはみたのだが・・・・

IEとFirefoxその他では、挙動が違う!!

ってことで、あぁ・・・困った。
こういうことが起こると、IEなんぞいつまで開発するんだ!って思う。
(勘弁してほしいのね)

Firefoxならば、UL構造でもTABLE構造でもちゃんと動くのだけれど、IEはULなら動くけど、TABLEの場合、

1) TBODYタグを追加して、そのTBODYタグをid=”sortable”にするということ
2) TABLEタグをstyle=”position:relative;”にすること

が必要なのだ。
全くめんどっちぃ=と思うが、とりあえずここまではOK。

ところが、TABLEをさらにDIVタグで囲んでいるところ(※)があって、そこはどうしてもうまくいかなかった。1つめの並び替えは問題なくいくのだが、続けてドラッグ&ドロップすると、半透明で表示される要素がカーソルの位置ではなく上の方にあるではないか・・・

どうも、並び替えた後の位置が正しく設定されていないようで、アレコレと無い脳みそをフル活動させてみたのだが、どうも私には無理!な範疇に入ってしまったようなので、もう、DIVの中身のTABLEをUL構造に変更して事なきを得た。

(※)表示範囲が決まっているけどTABLEがデカいということで、DIVタグ内でスクロールさせている。これのせいで、どうもうまくいかない。

結局、解決はできなかったという、悲しいお話。

Add a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.