带有自动溢出功能的 div 内的 jQuery 可排序表超出了 div

标签 jquery css jquery-ui jquery-ui-sortable

我正在使用 jQuery UI sortable 对表格进行排序。问题是当表格位于带有 overflow:auto 和设置宽度的 div 内时,拖动的行出现在该滚动 div 的边界之外。

如何使行或克隆符合溢出? Here's a jsfiddle

这是 fiddle 中的代码:

HTML:

<div id="theDiv">
  <table>
    <tbody>
      <tr>
        <td>One1</td>
        <td>Two</td>
        <td>Three</td>
        <td>Four</td>
        <td>Five</td>
        <td>One2</td>
        <td>Two</td>
        <td>Three</td>
        <td>Four</td>
        <td>Five</td>
        <td>One2</td>
        <td>Two</td>
        <td>Three</td>
        <td>Four</td>
        <td>Five</td>
      </tr>
      <tr>
        <td>One2</td>
        <td>Two</td>
        <td>Three</td>
        <td>Four</td>
        <td>Five</td>
        <td>One2</td>
        <td>Two</td>
        <td>Three</td>
        <td>Four</td>
        <td>Five</td>
        <td>One2</td>
        <td>Two</td>
        <td>Three</td>
        <td>Four</td>
        <td>Five</td>
      </tr>
      <tr>
        <td>One3</td>
        <td>Two</td>
        <td>Three</td>
        <td>Four</td>
        <td>Five</td>
        <td>One2</td>
        <td>Two</td>
        <td>Three</td>
        <td>Four</td>
        <td>Five</td>
        <td>One2</td>
        <td>Two</td>
        <td>Three</td>
        <td>Four</td>
        <td>Five</td>
      </tr>
      <tr>
        <td>One4</td>
        <td>Two</td>
        <td>Three</td>
        <td>Four</td>
        <td>Five</td>
        <td>One2</td>
        <td>Two</td>
        <td>Three</td>
        <td>Four</td>
        <td>Five</td>
        <td>One2</td>
        <td>Two</td>
        <td>Three</td>
        <td>Four</td>
        <td>Five</td>
      </tr>
    </tbody>
  </table>
</div>

CSS:

div {
  width: 200px;
  overflow: auto;
}

td {
  background-color: cyan;
}

JS:

$(function() {
  $("tbody").sortable();
  $("tbody").disableSelection();
});

最佳答案

您可以使用“包含”选项来执行此操作。

$("tbody").sortable({containment: "#theDiv"});

参见 http://api.jqueryui.com/sortable/#option-containment获取更多信息。

关于带有自动溢出功能的 div 内的 jQuery 可排序表超出了 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34243695/

相关文章:

javascript - Jquery:如何从选择元素中获取选定的选项

css - Laravel - 使用基于参数的 Controller 更改 View 中的特定 tr bgcolor

html - 如何根据屏幕的宽度设置左侧div的宽度

javascript - 如何限制要输入的文本框中的任何特定字符。我只想限制 ^ 和 %

jquery - 如何更改 Jquery Ui 确认对话框中的按钮大小?

javascript - 如何从 onItemSelect 回调中找到 jquery 自动完成输入的 id?

javascript - 在两个循环之间切换

jquery - 如何在 jQuery 中为 getJSON 设置缓存 false?

javascript - 抛出错误的顺序?

javascript - 位置随机形状