jquery ui sortable - 使用包含时拖动无法正常工作

时间:2012-10-03 22:46:27

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

我遇到了jquery ui sortable的问题,我无法拖动某些项目(因为项目元素的高度,我认为是基于的)

<div class="container">
<fieldset>
    <legend>handle 1 THIS CAN'T BE DRAGGED BELOW HANDLE 2</legend>
    <div>blah<br /></div>
</fieldset>
<fieldset>
    <legend>handle 2 BUT I CAN DRAG THIS ABOVE HANDLE 1</legend>
    <div style="display: none">blah<br /></div>
</fieldset>

$(".container").sortable({
   axis: 'y',
   handle: '> legend',
   containment: 'parent',
   /*cursorAt: {top: 1},
   start: function(event, ui) {
      ui.placeholder.height(ui.item.height());
      $(this).sortable('refreshPositions');
   },*/
});​

http://jsfiddle.net/ADyhR/10/ 编辑:它似乎在jquery ui 1.8.9中工作。它只是1.8.18中的一个错误吗?

注释掉的javascript行是我尝试但没有奏效的东西,但我想我可能只是稍微偏离了我如何使用它们。

1 个答案:

答案 0 :(得分:0)

您可以使用tolerance选项并将其值设置为tolerance: "pointer",。我更新了您的DEMO并创建了NEW DEMO

以下是添加了tolerance选项的的JS代码

$(".container").sortable({
    axis: 'y',
    tolerance: "pointer",
    handle: '> legend',
    containment: 'parent',
    /*cursorAt: {top: 1},
    start: function(event, ui) {
        ui.placeholder.height(ui.item.height());
        $(this).sortable('refreshPositions');
    },*/
});