У меня есть куча элементов. Некоторые из них перетаскиваются, некоторые из них недоступны, а некоторые - оба. Как определить, перетаскивается ли элемент или нет?
Как проверить, нет ли элемента droppable, draggable или другого 'ble'?
Ответ 1
Вы также можете использовать данные jquery(), как это.
if ($(elem).data('draggable')) {
alert("yes");
}
else {
alert("no");
}
if ($(elem).data('fooable')) {
alert("yes");
}
else {
alert("no");
}
Смотрите здесь: http://bootply.com/60153
Ответ 2
Это работает для меня с JQuery 1.10.2
if ($("el").data('uiDraggable')){ //or uiDroppable
alert("draggable")
} else {
alert("not draggable")
}
В качестве альтернативы можно вызвать метод .data() без аргумента
$("el").data()
Это должно печатать что-то вроде
Объект { uiDraggable: $. (анонимная функция). (анонимная функция)}
где вы можете увидеть свойства объекта.
Ответ 3
Для перетаскиваемых элементов:
$(elem).is('.ui-draggable')
или вы можете filter
, или просто выберите $('.ui-draggable');
.
Для droppable вы использовали бы .ui-droppable
, resizable - .ui-resizable
, для контейнера выбирается .ui-selectable
, хотя выбранные вами элементы .ui-selectee
, сортировка - .ui-sortable
для контейнера.
Ответ 4
Я использую Modernizr:
if (Modernizr.draganddrop) {
// use drag and drop
}