jQuery UI лучший эффект для преобразования перетаскивания - PullRequest
0 голосов
/ 07 июля 2011

Название может звучать немного странно, но оно не действует.

У меня есть панель инструментов и холст под ней. Я хочу, чтобы кто-то мог перетащить кнопку панели инструментов (<button/>) на холст при следующих условиях:

  • оригинальная кнопка остается на своем месте
  • когда кнопка отпущена, это фактически другой элемент, например: <div/>
  • некоторые области холста нельзя отбросить, это зависит от селектора

Идея состоит в том, что холст - это контейнер предметов. Некоторые предметы могут быть самими контейнерами, некоторые нет. Когда выполняется операция D & D, брошенный предмет может находиться только внутри такого контейнера.

Что еще хуже, элементы фактически упорядочены, а не с абсолютной позицией (в настоящее время я использую сортируемый эффект jQuery) - это ожидаемый эффект.

Состав:

<div id="toolbar">
    <button class="add-item"> Add Item </button>
    <button class="add-container"> Add Container </button>
</div>

<div id="canvas">
    <span class="item"> Caption 1 </span>
    <span class="container">
        Caption 2
        <span class="items">
            <span class="item"> Caption 3 </span>
        </span>
    </span>
</div>

Сценарий:

$('#canvas, .container').sortable({
    "revert": true,
    "connectWith": '#canvas, .container>.items',
    "containment": '#canvas',
});

$('#toolbar button').droppable(/* ??? */);

Пока что моя главная проблема связана с предметом, который можно опустить. Существует множество (разумных) «причуд», которые делают его несовместимым с моей системой.

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...