如何检查元素是否可以放置,可拖动或其他"ble"?

Kee*_*ker 30 jquery jquery-ui droppable draggable jquery-data

我有一堆jQuery元素.有些是可拖动的,有些是可以放置的,有些是可以拖放的.如何检测元素是否可拖动或可拖放?

Zim*_*Zim 27

你也可以data()像这样使用jQuery ..

if ($(elem).data('draggable')) {
        alert("yes");
}
else {
        alert("no");
}

if ($(elem).data('fooable')) {
        alert("yes");
}
else {
        alert("no");
} 
Run Code Online (Sandbox Code Playgroud)

请在此处查看:http://bootply.com/60153

  • 好像它现在被称为'uiDraggable'. (6认同)
  • 在jQuery 2.1.0中,它被称为'ui-draggable' (5认同)
  • 只是确保你没有实际写if/else语句没有大括号! (3认同)

gum*_*ins 15

这适用于JQuery 1.10.2

if ($("el").data('uiDraggable')){ //or uiDroppable
   alert("draggable")
} else {
   alert("not draggable")
}
Run Code Online (Sandbox Code Playgroud)

或者,可以不带参数调用.data()方法

$("el").data()
Run Code Online (Sandbox Code Playgroud)

这应该打印出类似的东西

对象{ uiDraggable:$.(匿名函数).(匿名函数)}

在哪里可以看到对象属性.


zzz*_*Bov 6

对于可拖动元素:

$(elem).is('.ui-draggable')
Run Code Online (Sandbox Code Playgroud)

或者你可以filter,或者只是选择$('.ui-draggable');.

对于droppable,您可以使用.ui-droppable,可调整大小.ui-resizable,可选择.ui-selectable用于容器,尽管您选择的项目是.ui-selectee可排序.ui-sortable的容器.