Пример
$(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 | Определяет функцию, код которой будет выполнен, когда перетаскиваемый элемент будет перетащен на принимающую его область. |