【发布时间】:2023-03-14 10:51:01
【问题描述】:
我正在使用 jQuery Ui 的 Sortable 小部件在表格行中实现拖放功能。问题是,如果我将第 2 行和第 3 行向下拖动一点(不足以移动下一行),行之间的空间会增加。现在,如果我确实将第二行与第三行交换(通过将第二行拖到第三行下方),第一行和第二行之间会积累大量空间。如果重复以上步骤,我们可以继续增加行间距
最初,
最后,
The code is as follows:
<html>
<head>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="jquery.ui.sortable.min.js"></script>
<script>
$(document).ready(function() {
$( "#table tbody " ).sortable({placeholder : 'red',axis:'y',containment:'tbody'});
$( "#table tbody" ).disableSelection();
});
</script>
<style>
.red{
background-color : red;height: 1.5em; line-height: 1.2em;
}
#table{
border-spacing : 2px;
background-color : light gray;
}
#table tr{
background-color : yellow;
}
body{
background-color : gray;
}
</style>
</head>
<body>
<table id="table">
<thead>
</thead>
<tbody>
<tr>
<td>
<label for="name1">Enter name</label>
<input type="text" id="name1"/>
</td>
</tr>
<tr>
<td>
<label for="name2">Enter name</label>
<input type="text" id="name2"/>
</td>
</tr>
<tr>
<td>
<label for="name3">Enter name</label>
<input type="text" id="name2"/>
</td>
</tr>
</tbody>
</table>
</body>
</html>
它对表格的使用不好,但我必须容忍一些遗留代码
另外,为什么占位符选项不起作用?
【问题讨论】:
-
我在您的代码中没有看到占位符;但是,通常它仅适用于(大多数)HTML5 兼容的浏览器。至于可排序的;我什至无法猜测。小提琴可能会有所帮助(jsfiddle.net)
-
这是一个给你的小提琴:jsfiddle.net/DMTcU 我不得不修改一些 CSS,因为 fiddle 上有一个 CSS 重置;但我无法复制。
-
占位符选项在可排序参数中指定
-
哦,对不起,我应该多加注意的。是的,不确定那个占位符的东西;你已经按照我的方式完成了。 :-/
-
@GregPettit 我可以使用您的 jsfiddle 示例在 Chrome 中重现该问题。不知道为什么。检查元素没有发现异常。
标签: jquery jquery-ui drag-and-drop