简体   繁体   English

判断jQuery DOM元素是否可拖动

[英]Tell if jQuery DOM element is draggable or not

Does jQuery UI store any properties to a jQuery dom ref element? jQuery UI是否将任何属性存储到jQuery dom ref元素?

What I'm particular interested in is any data or properties or function that can tell is it draggable? 我特别感兴趣的是任何可以说明其可拖动的数据,属性或功能?

Example: 例:

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

or 要么

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

Depending on what you want to do, you could use the selector in the original: 根据您要执行的操作,可以在原始文件中使用选择器:

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

This would neatly only call fn if it was draggable. 如果可拖动,这只会巧妙地调用fn

I think this will do what you ask if I understand correctly. 如果我理解正确,我认为这将满足您的要求。

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

Also, I think hasOwnProperty() would work too: 另外,我认为hasOwnProperty()也可以工作:

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

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM