表格列大小调整错误

时间:2019-04-18 11:26:50

标签: jquery jquery-ui jquery-ui-resizable

我试图通过拖放操作来实现jQuery-UI插件来调整表列的大小。

我明白了:

$("#table,#table table tr th,#table table tr td").resizable({
     handles: 'e'
});

拖动正在起作用,并且正在改变大小,但是在开始时,我单击了2个表列之间的一点并移动了鼠标一点,列宽变得更大了

我不知道该如何解决这个问题...有什么想法吗?预先感谢

1 个答案:

答案 0 :(得分:0)

根据您的示例代码,考虑以下示例。

$(function() {
  $("table").resizable();
  $("table thead th").resizable({
    handles: 'e'
  });
});
table {
  border-collapse: collapse;
}

table,
th,
td {
  border: 1px solid black;
}

table th {
  background: #CCC;
  width: 120px;
  min-width: 2em;
}

table thead tr .ui-resizable-e {
  border: 1px solid black;
  width: 2px;
  height: 17px;
  background: #666;
  top: 1px;
  right: -2px;
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<table>
  <thead>
    <tr>
      <th>H1</th>
      <th>H2</th>
      <th>H3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>A1</td>
      <td>B1</td>
      <td>C1</td>
    </tr>
    <tr>
      <td>A2</td>
      <td>B2</td>
      <td>C2</td>
    </tr>
    <tr>
      <td>A3</td>
      <td>B3</td>
      <td>C3</td>
    </tr>
  </tbody>
</table>

这允许用户调整标题的大小,并通过表结构的代理来调整列的大小。

希望这会有所帮助。