判断jQuery DOM元素是否可拖动

时间:2013-01-11 17:07:47

标签: javascript jquery jquery-ui

jQuery UI是否将任何属性存储到jQuery dom ref元素?

我特别感兴趣的是可以告诉的任何数据或属性或功能 它可以拖延吗?

示例:

var jqnode = jQuery('selector');
jqnode.draggable({...});
var isDraggable = !!(jqnode.tellIsDraggableProperty);

3 个答案:

答案 0 :(得分:3)

var isDraggable = !!jqnode.data("draggable")

var isDraggable = jqnode.is(":ui-draggable");

根据您的目的,您可以使用原始选择器:

jQuery('selector:ui-draggable').fn()

如果它是可拖动的话,这只会调用fn

答案 1 :(得分:1)

如果我理解正确的话,我认为这会做你所要求的。

var jqnode = jQuery('selector');
var isDraggable = (typeof jqnode.draggable === 'function');

另外,我认为hasOwnProperty()也会起作用:

var jqnode = jQuery('selector');
var isDraggable = jqnode.hasOwnProperty('draggable');

答案 2 :(得分:1)

当jQueryUI初始化draggable时,它会向元素添加ui-draggable类:

var isDraggable = jqnode.hasClass('ui-draggable');