jqueryui在开始事件之前可排序

时间:2017-04-02 16:13:25

标签: javascript jquery jquery-ui jquery-ui-sortable

我尝试在可排序的启动事件之前附加一些数据。这是我的例子

In [986]: b.transpose(2,0,1).shape
Out[986]: (3, 4, 4)
In [987]: np.dot(a, b.transpose(2,0,1)).shape
Out[987]: (3, 4)
In [988]: np.dot(np.dot(a, b.transpose(2,0,1)),c)
Out[988]: array([440, 440, 440])

(4a).(3, 4a, 4c) -> (3, 4c)
(3, 4c). (4c) -> 3

Js代码

<ul id="sortable">
    <li class="ui-state-default">Item 1</li>
    <li class="ui-state-default">Item 2</li>
    <li class="ui-state-default">Item 3</li>
    <li class="ui-state-default">Item 4</li>
    <li class="ui-state-default">Item 5</li>
</ul>

当我拖动项目1时,它看起来像

enter image description here

但我想在开始之前附加数据以使占位符调整大小。但也许jquery ui没有那个事件。我可以这样做,谢谢。

Here是我的榜样。

1 个答案:

答案 0 :(得分:1)

首先,您必须重置列表元素的高度,然后必须将其新高度应用于占位符元素。代码:

$(function() {
  $('#sortable').sortable({
    revert: true,
    forcePlaceholderSize: true,
    placeholder: 'ui-state-highlight',
    start: function(event, ui) {
      // we don’t want jQuery’s 20px
      ui.item.height('auto');
      ui.item.append('<div>abc<br><br>abc</div>');
      // now set the new height to the placeholder
      $(ui.placeholder[0]).height(ui.item.height());
    }
  });
});