jQuery вложенные сортируемые скептическое поведение - PullRequest
1 голос
/ 23 апреля 2010

Я хочу разрешить пользователю перетаскивать элементы пользовательского интерфейса. У меня есть «контейнер» и «контроль», контроль может быть в контейнере, контейнеры могут включать другие контейнеры (это важное требование). Я создал простой прототип, используя jQuery.

HTML:

<div class="one">
<div class="control">Control 1</div>
<div class="control">Control 2</div>
<div class="control container">
  Container drag area
  <div class="control">Subcontrol 1</div>
  <div class="control">Subcontrol 2</div>
  <div class="control">Subcontrol 3</div>
  <div class="control">Subcontrol 4</div>
  <div class="control">Subcontrol 5</div>
  <div class="control">Subcontrol 6</div>
  <div class="control">Subcontrol 7</div>
  <div class="control">Subcontrol 8</div>
  <div class="control">Subcontrol 9</div>
</div>
<div class="control">Control 3</div>

Затем я создал сортируемые файлы, используя jQueryUI:

$('.one').sortable({
  items: 'div.control',
  placeholder: 'placeholder',
  forcePlaceholderSize: true
});

Теперь, когда я пытаюсь перетащить «Subcontrol 8» и поместить его между «Subcontrol 2» и «Subcontrol 3», например, я получаю эффект скачка, вы можете наблюдать это здесь:

http://jsbin.com/egipu4/2

Интересно то, что когда я удаляю способность перетаскивать «контейнер», она становится гладкой и идеальной (вы можете увидеть это на примере jsbin ниже примера «прыжок», вы не можете перетаскивать, используя «Область перетаскивания контейнера»). Я пробовал разные "вложенные" плагины и методики, google'd долгое время и единственный, который работал, был на этой странице: (StackOverflow не позволяет мне публиковать более одного лайка, Google для «Блог Брайана Шварцфагера: демонстрация сортировки вложенных списков» должна быть первой, извините!)

Но он отлично работает только в jQuery1.2 и очень старых jQueryUI. Если я включу последнюю версию jQuery (1.3 / 1.4) и пользовательский интерфейс (1.7 / 1.8), то это тоже пугает. Что я делаю не так?

1 Ответ

1 голос
/ 15 сентября 2010

на тот случай, если вам все еще интересно, я недавно разработал плагин , который позволяет работать с вложенной сортировкой с последними jQuery и jQuery UI

...