Подтвердить что ты не робот

Jquery draggable: как ограничить область перетаскивания?

У меня есть перетаскиваемый объект (div) и некоторые droppable (таблица TD). Я хочу, чтобы пользователь перетащил мой перетаскиваемый объект в один из этих droppable TD's.

Я разрешаю draggable и droppable следующим образом:

$(".draggable").draggable();
$(".droppable").droppable();

Проблема заключается в том, что при этом пользователь может перетащить div в любом месте экрана, в том числе из области сбрасываемой области.

Как я могу ограничить граничную область для объекта перетаскивания?

4b9b3361

Ответ 1

Используйте опцию "сдерживание":

http://docs.jquery.com/UI/Draggable#option-containment

В документации говорится, что он принимает только значения: "родитель", "документ", "окно", [x1, y1, x2, y2], но я, кажется, помню, что он примет селектор, например "#container".

Ответ 3

Ниже приведен пример кода. #thumbnail - родитель DIV #handle DIV

buildDraggable = function() {
    $( "#handle" ).draggable({
    containment: '#thumbnail',
    drag: function(event) {
        var top = $(this).position().top;
        var left = $(this).position().left;

        ICZoom.panImage(top, left);
    },
});