Виджет Droppableверсия добавлена: 1.0
Описание: Создание целей для элементов draggable.
Плагин jQuery UI Droppable делает выбранные элементы droppable (то есть, они принимают элементы draggable). Вы можете указать, какие элементы draggable будут приниматься.
Стилевое оформление
Виджет droppable использует фреймворк CSS jQuery UI CSS, чтобы задать свой внешний вид. Если требуется специфическое стилирование для droppable, можно использовать следующие имена CSS-классов для переопределений или как ключи для classes параметра:
-
ui-droppable: Элемент droppable. Когда активируется элемент draggable, который может быть помещён на этот droppable, добавляется классui-droppable-active. При перетаскивании draggable над этим droppable, добавляется классui-droppable-hover.
Зависимости
Параметры
accept
"*" - Селектор: Селектор, указывающий, какие элементы draggable принимаются.
- Функция: Функция, которая будет вызвана для каждого draggable на странице (передается в качестве первого аргумента функции). Функция должна вернуть
true, если draggable должен быть принят.
Инициализируйте droppable с указанным параметром accept.
$( ".selector" ).droppable({
accept: ".special"
}); Получить или установить параметр accept, после инициализации:
// Getter var accept = $( ".selector" ).droppable( "option", "accept" ); // Setter $( ".selector" ).droppable( "option", "accept", ".special" );
activeClass
false Если указано, класс будет добавлен к droppable, когда acceptable draggable перетаскивается.
Параметр activeClass устарел в пользу classes параметра, используя свойство ui-droppable-active.
Инициализируйте droppable с указанным параметром activeClass.
$( ".selector" ).droppable({
activeClass: "ui-state-highlight"
}); Получить или установить параметр activeClass, после инициализации:
// Getter var activeClass = $( ".selector" ).droppable( "option", "activeClass" ); // Setter $( ".selector" ).droppable( "option", "activeClass", "ui-state-highlight" );
addClasses
true false, предотвратит добавление класса ui-droppable. Это может быть желательно для оптимизации производительности при вызове .droppable() init на сотнях элементов.Инициализируйте droppable с указанным параметром addClasses.
$( ".selector" ).droppable({
addClasses: false
}); Получить или установить параметр addClasses, после инициализации:
// Getter var addClasses = $( ".selector" ).droppable( "option", "addClasses" ); // Setter $( ".selector" ).droppable( "option", "addClasses", false );
classes
{} Укажите дополнительные классы, которые нужно добавить к элементам виджета. Любой из классов, указанных в разделе Стилевое оформление, может использоваться в качестве ключей для переопределения их значения. Для получения дополнительной информации об этом параметре, ознакомьтесь со статьей учебного руководства по параметру classes.
Инициализируйте droppable с указанным параметром classes, изменив оформление для класса ui-droppable.
$( ".selector" ).droppable({
classes: {
"ui-droppable": "highlight"
}
}); Получить или установить свойство параметра classes, после инициализации, здесь читается и изменяется оформление для класса ui-droppable.
// Getter var themeClass = $( ".selector" ).droppable( "option", "classes.ui-droppable" ); // Setter $( ".selector" ).droppable( "option", "classes.ui-droppable", "highlight" );
disabled
false true.Инициализируйте droppable с указанным параметром disabled.
$( ".selector" ).droppable({
disabled: true
}); Получить или установить параметр disabled, после инициализации:
// Getter var disabled = $( ".selector" ).droppable( "option", "disabled" ); // Setter $( ".selector" ).droppable( "option", "disabled", true );
greedy
false true, родительские droppables не получат элемент. Событие drop всё ещё будет распространяться нормально, но event.target можно проверить, чтобы увидеть, какой droppable получил элемент draggable.Инициализируйте droppable с указанным параметром greedy.
$( ".selector" ).droppable({
greedy: true
}); Получить или установить параметр greedy после инициализации:
// Getter var greedy = $( ".selector" ).droppable( "option", "greedy" ); // Setter $( ".selector" ).droppable( "option", "greedy", true );
hoverClass
false Если указано, класс будет добавлен к droppable, когда acceptable draggable находится над droppable.
Параметр hoverClass устарел в пользу classes параметра, используя свойство ui-droppable-hover.
Инициализируйте droppable с указанным параметром hoverClass.
$( ".selector" ).droppable({
hoverClass: "drop-hover"
}); Получить или установить параметр hoverClass после инициализации:
// Getter var hoverClass = $( ".selector" ).droppable( "option", "hoverClass" ); // Setter $( ".selector" ).droppable( "option", "hoverClass", "drop-hover" );
scope
"default" accept. Draggable с тем же значением scope, что и droppable, будет принят.Инициализируйте droppable с указанным параметром scope.
$( ".selector" ).droppable({
scope: "tasks"
}); Получить или установить параметр scope после инициализации:
// Getter var scope = $( ".selector" ).droppable( "option", "scope" ); // Setter $( ".selector" ).droppable( "option", "scope", "tasks" );
tolerance
"intersect" -
"fit": Draggable полностью перекрывает droppable. -
"intersect": Draggable перекрывает droppable хотя бы на 50% в обоих направлениях. -
"pointer": Указатель мыши перекрывает droppable. -
"touch": Draggable перекрывает droppable на любое количество.
Инициализируйте droppable с указанным параметром tolerance.
$( ".selector" ).droppable({
tolerance: "fit"
}); Получить или установить параметр tolerance после инициализации:
// Getter var tolerance = $( ".selector" ).droppable( "option", "tolerance" ); // Setter $( ".selector" ).droppable( "option", "tolerance", "fit" );