Я получаю свои зубы в jQuery UI и Bootstrap, и я пытаюсь реализовать перетаскиваемые/сортируемые панели, которые почти работают.
Я использую модель container
(вместо container-fluid
), и у меня есть несколько панелей. Панели настраиваются для распространения по разным столбцам в зависимости от размера экрана.
Перетаскивание панели с не в правом столбце перемещает панель с помощью мыши, а заполнитель перемещается под мышью , если не перемещать ее по правому краю самая колонка.
Если вы перетащите панель из самого правого столбца, панель появится в панели next.
Кто-нибудь может объяснить, почему это происходит, и как я могу заставить его работать так, как надо, - я должен уметь перетаскивать любую панель и размещать ее в любом месте?
Чтобы увидеть проблему в действии, см. этот jsfiddle (нажмите здесь, чтобы увидеть его в полном размере) и попробуйте перетащить панель, в которой не в правом столбце, в правый столбец. И попробуйте перетащить панель, в которой находится, в правом столбце.
HTML настраивается следующим образом (показаны только первые две панели)...
<div class="container">
<div id="sortable" class="row">
<div class="col-lg-2 col-md-3 col-sm-4 col-xs-4">
<div class="panel panel-default">
<div class="panel-heading">Test 1</div>
<div class="panel-body">Content</div>
</div>
</div>
<div class="col-lg-2 col-md-3 col-sm-4 col-xs-4">
<div class="panel panel-default">
<div class="panel-heading">Test 2</div>
<div class="panel-body">Content</div>
</div>
</div>
...
</div>
</div>
jQuery настроен как...
$(function () {
$("#sortable").sortable().disableSelection();
});
Я использую jQuery 1.11.2, jQuery UI 1.10.3, Bootstrap 3.3.2
Ответ, предоставленный @AlexStack (для добавления прозрачного пограничного элемента к каждому <div>
), почти существует, но не работает в текущем FireFox (36.0.1 во время тестирования/записи)... такая же проблема возникает.
Кто-нибудь знает решение, которое охватывает все основные браузеры?