kolosslava
@kolosslava

Почему не работает Drag&Drop для новых блоков?

Почему то не работает droppable для новых блоков.
Функция Drag&Drop :
$('.key').draggable({revert: 'invalid',revertDuration: 200,helper: "clone" });
$('#s1').droppable({
    drop: function (e, ui) {
        switch(ui.draggable.attr('id')) {
            case 'id1':
                $( this ).html( "id1" );
                break;
            case 'id2':
                $( this ).html( "id2" );
                break;
            default:
                alert('Other block');
        }
    }
});


После клика создаю новый элемент и у него не работает droppable:

newDiv = $('<div  class="box " id="s1"> ').appendTo('#workingGrid');


В чем может быть причина?
  • Вопрос задан
  • 3003 просмотра
Решения вопроса 1
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
Послушайте, я не понимаю того, о чем Вы говорите.
Вот пример с draggable, зачем Вам вообще инициировать новый droppable по id, делайте по имеющейся переменной newDiv.
jsfiddle.net/iiil/94Ws5/12
У новых элементов droppable работает
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Потому что уже навешенный плагин ничего не знает про новые элементы. Надо его навесить заново при добавлении элемента.
Ответ написан
Комментировать
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
Так как Вы создаете новый элемент - то на него достаточно навесить newDiv.droppable({...}) с теми же параметрами. Если бы Вы его копировали, то надо было бы больше делать :)
Ответ написан
Ваш ответ на вопрос

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

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