jQuery draggable
не работает в таблицах (в 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 spec) и б), какой правильный путь для получения перетаскиваемых строк таблицы.
Мне нравятся реальные таблицы из-за алгоритма сглаживания границ и высоты строки - любая альтернатива, которая может делать эти вещи, будет работать нормально.