RozMakc
@RozMakc

Draggable 2 в одном блоке, нужна помощь?

Приветствую, нужна помощь спеца по jqerry.
Использую jqerry ui, необходимо перемещать блоки для сортировки вот ссыль - https://jqueryui.com/draggable/#sortable

структура примерно такая:
<div class="block">
               <div id="sortable">

                   //блок с вопросом, такие блоки добавляются друг за другом
                   <div class="draggable">
                       <div class="header-block">
                           <a class="move">переместить вопрос</a>
                       </div>
                       <div class="body-block">
                           <div>тут много блоков и разных текстов ссылок ul li и тп</div>
                           <div class="sortable2">

                                //блок с ответами, такие блоки добавляются друг за другом
                                <div class="draggable2">
                                    <p>тут форма</p>
                                    <a class="move2">переместить ответ</a>
                                </div>
                                //

                           </div>
                           <button class="addQuestion2">Добавить ответ</button>
                       </div>
                   </div>
                   //

               </div>
               <button class="addQuestion">Добавить вопрос</button>
           </div>


вот часть js:

$(function() {
                    $( "#sortable" ).sortable({
                        revert: true
                    });
                    $( ".draggable" ).draggable({
                        connectToSortable: "#sortable",
                        revert: "invalid",
                        handle: ".move",
                        cancel: ".body-block",
                        axis: "y"
                    });
                    $( ".sortable2" ).sortable({
                        revert: true
                    });
                    $( ".draggable2" ).draggable({
                        connectToSortable: ".sortable2",
                        revert: "invalid",
                        handle: ".move2",
                        axis: "y"
                    });
                    $( "ul, li, div" ).disableSelection();
                });


по кнопке добавить вопрос добавляется новый блок в коде пометил какой, внутри этого блока есть блок с таким же добавлением.

блоки нужно перемещать для сортировки, как вопросы так и ответы
на скрине красным веделено для наглядности какие блоки перемещаются prntscr.com/ia1p9x

так вот, проблема с этим драгаблом)
сами вопросы перемещаются нормально, но также перемещаются и если захватить в любом месте блока, что не нужно( пытался запретить ( cancel: ".body-block", ) но почему то канкел не срабатывает, но это не главное.

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

если не понятно объяснил напишите, попробую понятней описать.

Оч. нужна помощь (
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Запись вида $('.someclass').draggable() значит следующее:
найти все элементы с классом someclass и применить к ним плагин draggable


Но на те элементы, которые появятся в будущем, это не распространяется.

Используйте MutationObserver, чтобы отследить появление новых элементов и навесить на них draggable.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы