AJAX загрузка
home

Пример использования

Пример

$(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 имеет следующие свойства:

  • ui.draggable - текущий перетаскиваемый элемент.
  • ui.helper - текущий перетаскиваемый элемент помощник.
  • ui.position - смещение текущей позиции помощника относительно прежней позиции в пикселях (ui.position.left - содержит смещение по горизонтали, ui.position.top - содержит смещение по вертикали).
  • ui.offset - смещение текущей позиции помощника относительно границ страницы в пикселях (ui.offset.left - смещение по горизонтали, ui.offset.top - смещение по вертикали).

Синтаксис

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