Пример
$(document).ready(function() { $("#tabs").tabs(); //Код первой вкладки (стандартное использование) $("#drag1").draggable({revert:true}); $("#drop1").droppable({drop:function(){ $(this).addClass("ui-state-highlight"); $(this).html("<b>Элемент был перетащен успешно!</b>"); }}); //Код второй вкладки (принимаемые элементы) $("#drag2").draggable({revert:true}); $("#drag3").draggable({revert:true}); $("#drop2").droppable({accept:'#drag3'},{drop:function(){ $(this).addClass("ui-state-highlight"); $(this).html("<b>Элемент был перетащен успешно!</b>"); }}); //Код третьей вкладки (обратная связь с пользователем) $("#drag4").draggable({revert:true}); $("#drag5").draggable({revert:true}); $("#drop3").droppable({accept:'#drag5',activeClass:'drags'},{drop:function(){ $(this).addClass("ui-state-highlight"); $(this).html("<b>Элемент был перетащен успешно!</b>"); }}); $("#drag6").draggable({revert:true}); $("#drag7").draggable({revert:true}); $("#drop4").droppable({accept:'#drag7',hoverClass:'dragh'},{drop:function(){ $(this).addClass("ui-state-highlight"); $(this).html("<b>Элемент был перетащен успешно!</b>"); }}); });
С помощью метода droppable Вы можете определить область для приема перетаскиваемых элементов.
Всем областям во время создания автоматически назначается класс .ui-droppable.
С помощью опций и событий перечисленных в таблицах далее на данной странице Вы можете настраивать поведение областей под конкретные нужды.
Данный метод используется совместно с методом draggable (делает выбранный элемент перетаскиваемым).
$(селектор).droppable(опции_или_события)
селектор выбирает элемент, который будет превращен в область для приема перетаскиваемых элементов.
опции настраивают дополнительные аспекты поведение области. Все доступные опции рассмотрены в таблице далее.
события события связанные с областями. Все события рассмотрены в таблице далее.
Опции | Описание |
---|---|
accept | Указывает элементы, которые будут приниматься данной областью. Значение по умолчанию: * (принимать все перетаскиваемые элементы). Пример использования: .droppable({accept:'#acceptdrag'}) |
activeClass | Указывает имя класса, который будет автоматически добавляться к данной области, когда пользователь начнет перетаскивать
элемент принимаемый этой областью. Значение по умолчанию: false. Пример использования: .droppable({activeClass:'#dragactive'}) |
addClass | Если имеет значение false класс .ui-droppable не будет автоматически добавляться элементу (используется для увеличения производительности). Значение по умолчанию: true. Пример использования: .droppable({addClass:false}) |
greedy | Если имеет значение true, произошедшие события не будут распространятся на вложенные области. Значение по умолчанию: false. Пример использования: .droppable({greedy:true}) |
hoverClass | Указывает имя класса, который будет автоматически добавляться к данной области, когда пользователь заведет принимаемый элемент в область приема (но не отпустит его).
Значение по умолчанию: false. Пример использования: .droppable({hoverClass:'#draghover'}) |
Все обработчики событий принимают два аргумента - стандартный объект event браузера и специальный объект ui.
Объект ui имеет следующие свойства:
Синтаксис
$(селектор).droppable({событие:function(event,ui){Код обработчика}}) //или $(селектор).bind("dropсобытие",function(event,ui){Код обработчика})
Обратите внимание: например для того, чтобы привязать к
области с id='test' обработчик события create, который выводит сообщение "привет"
необходимо будет написать следующий код: $("#test").droppable({create:function(event,ui){alert("Привет")}}).
События | Описание |
---|---|
create | Определяет функцию, код которой будет выполнен, когда область для приема перетаскиваемых элементов будет создана. |
activate | Определяет функцию, код которой будет выполнен, когда пользователь начнет перетаскивать элемент принимаемый данной областью. |
deactivate | Определяет функцию, код которой будет выполнен, когда пользователь перестанет перетаскивать элемент принимаемый данной областью. |
over | Определяет функцию, код которой будет выполнен, когда перетаскиваемый элемент будет заведен в принимающую его область. |
out | Определяет функцию, код которой будет выполнен, когда перетаскиваемый элемент будет выведен за пределы принимающей его области. |
drop | Определяет функцию, код которой будет выполнен, когда перетаскиваемый элемент будет перетащен на принимающую его область. |