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>
我想知道a)如果有任何具体原因为什么这不工作(从w3c / HTML规格透视图)和b)什么正确的方法去获取可拖动表行是。
我喜欢真正的表,因为边界折叠和行高度算法 – 任何可以做这些事情的任何替代品将工作正常。
解决方法
如果你有真正的表格数据,你应该坚持表。
如果你想拖动表中的行,这JQuery + “draggable row table” library在FireFox3完美