перетаскивание из html body/div/всего
Вопрос
я делаю класс элементов, которые можно перетаскивать вот так
jQuery(".drag").draggable();
jQuery(".drop").droppable({
accept: ".drag",
drop: function(ev, ui) {
//do stuff with dropped data
}
});
теперь проблема в том, что я могу перетаскивать элементы из тела и по всему HTML.как ограничить область, в которой его можно перетаскивать?
Решение
http://docs.jquery.com/UI/Draggable#option-containment
Ограничивает перетаскивание пределами границ указанного элемента или региона.Возможные строковые значения:«родитель», «документ», «окно», [x1, y1, x2, y2].
Пример:
Инициализируйте перетаскиваемый объект с указанным параметром сдерживания.
$('.selector').draggable({ containment: 'parent' });
Или в случае, если проблема в том, что перетаскиваемый объект можно разместить где угодно:
http://docs.jquery.com/UI/Draggable#option-revert
Если установлено значение true, элемент вернется в исходное положение после остановки перетаскивания.Возможные строковые значения:«действительный», «недействительный».Если установлено значение «Недопустимо», возврат произойдет только в том случае, если перетаскиваемый объект не был перенесен на перетаскиваемый объект.На самом деле все наоборот.
И наконец, я не вижу, чтобы вы устанавливали область перетаскивания (Редактировать:Но это не решит вашу проблему, другие две вещи выше должны):
http://docs.jquery.com/UI/Draggable#option-scope
Используется для группировки наборов перетаскиваемых и отбрасываемых элементов в дополнение к опции принятия droppable.Перетаскиваемый объект с тем же значением области действия, что и у отбрасываемого объекта, будет принят отбрасываемым объектом.
Пример:
Инициализируйте перетаскиваемый объект с указанной опцией области.
$('.selector').draggable({ scope: 'tasks' });