Функциональность draggable
в jQuery, похоже, не работает с таблицами (в FF3 или Safari). Трудно представить, как этот будет работать, поэтому неудивительно, что это не так.
<html>
<style type='text/css'>
div.table { display: table; }
div.row { display: table-row; }
div.cell { display: table-cell; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://dev.jquery.com/view/tags/ui/latest/ui/ui.core.js"></script>
<script src="http://dev.jquery.com/view/tags/ui/latest/ui/ui.draggable.js"></script>
<script>
$(document).ready(function(){
$(".row").draggable();
});
</script>
<body>
<div class='table'>
<div class='row'>
<div class='cell'>Foo</div>
<div class='cell'>Bar</div>
</div>
<div class='row'>
<div class='cell'>Spam</div>
<div class='cell'>Eggs</div>
</div>
</div>
<table>
<tr class'row'><td>Foo</td><td>Bar</td></tr>
<tr class='row'><td>Spam</td><td>Eggs</td></tr>
</table>
</body>
</html>
Мне было интересно: а) есть ли какая-то конкретная причина, по которой это не работает (с точки зрения спецификации w3c / HTML), и б), как правильно получить перетаскиваемые строки таблицы.
Мне нравятся реальные таблицы из-за алгоритма свертывания границ и высоты строк - любая альтернатива, которая может сделать это, будет работать нормально.