Показать сообщение отдельно
  #1 (permalink)  
Старый 01.08.2015, 01:27
Новичок на форуме
Отправить личное сообщение для ИринаDfy Посмотреть профиль Найти все сообщения от ИринаDfy
 
Регистрация: 01.08.2015
Сообщений: 3

не получается задать селекторы для draggable
есть 2 div'а- #block1 и #block2.
В #block1 находятся элементы -блоки красного цвета, при перетаскивании которых на #block2 срабатывает опция клонирования. Эти элементы становятся зелеными



$(function() {
   //
    $('#block1 .redBlock').draggable({
          helper:'clone'
    });

Задача такая: когда элемент находится в #block2, он тоже должен быть draggable, но создаваться еще 1 клон не должен

$('#block2').droppable({
        hoverClass: 'dropHere'
        ,drop: function(event, ui) {            
            $(this).append($('<div class="greenBlock">' + ui.draggable.html() + '</div>').draggable());            
        }
        ,over: function(event, ui) {
            console.log('over event');
        }
        
    });   
      
});


В JQUERY я- новичок, сегодня первый день "за рулем". Понимаю, что где-то в первой части кода можно прописать что-то вроде

$('#block1 .textBlock').draggable({
//родительский элемент после перетаскивания получает id=ui-droppable
        if(this.parent.id != 'ui-droppable')
          helper:'clone'
    });



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


Потом пробовали изменить вторую часть кода, что-то вроде:
$('#block2' div).droppable({
        hoverClass: 'dropHere'
        ,drop: function(event, ui) {            
            $(this).append($('<div class="greenBlock">' + ui.draggable.html() + '</div>').draggable("option", "helper", 'original'));            
        }


Здесь пытаемся задать опцию.draggable("option", "helper", 'original'));
Тоже код не работает корректно:перетаскивается только по 1 квадрату и они остаются красными, т.е. <div class="greenBlock"> не прописывается.

Опять же, еще один непонятный момент с селекторами. Ведь если у меня в начал функции прописано


Надеюсь, знатоки подскажут, где копать, а то уже сутки над проблемой бьюсь
Ответить с цитированием