如何禁用jquery-ui可拖动?

如何禁用jQuery可拖动,例如在UpdatePanel回发期间?

可以创build一个DisableDrag(myObject)和一个EnableDrag(myObject)函数

myObject.draggable( 'disable' ) 

然后

 myObject.draggable( 'enable' ) 

要暂时禁用可拖动的行为,请使用:

 $('#item-id').draggable( "disable" ) 

要永久删除可拖动的行为,请使用:

 $('#item-id').draggable( "destroy" ) 

在jQuery中启用/禁用可拖动我使用:

 $("#draggable").draggable({ disabled: true }); $("#draggable").draggable({ disabled: false }); 

@Calciphus的答案不适合我的透明度问题,所以我用:

 div.ui-state-disabled.ui-draggable-disabled {opacity: 1;} 

也在移动设备上工作。

这里是代码: http : //jsfiddle.net/nn5aL/1/

启用 禁用 可拖动 jQuery的 不透明 问题的 HTML

我花了一点时间来弄清楚如何禁用可拖放的使用ui.draggable引用从拖放function内拖动的对象:

 $("#drop-target").droppable({ drop: function(event, ui) { ui.draggable.draggable("disable", 1); // *not* ui.draggable("disable", 1); … } }); 

HTH的人

似乎没有人看过原始文档。 可能当时没有)))

使用指定的禁用选项初始化可拖动。

 $( ".selector" ).draggable({ disabled: true }); 

初始化后获取或设置禁用选项。

 //getter var disabled = $( ".selector" ).draggable( "option", "disabled" ); //setter $( ".selector" ).draggable( "option", "disabled", true ); 

在对话框中,它有一个名为draggable的属性,将其设置为false。

 $("#yourDialog").dialog({ draggable: false }); 

尽pipe这个问题很老,但是我尝试了所提出的解决scheme,并且它不适用于对话框。 希望这可以帮助像我这样的人。

以下是这个在.draggable({});里面的样子.draggable({});

 $("#yourDraggable").draggable({ revert: "invalid" , start: function(){ $(this).css("opacity",0.3); }, stop: function(){ $(this).draggable( 'disable' ) }, opacity: 0.7, helper: function () { $copy = $(this).clone(); $copy.css({ "list-style":"none", "width":$(this).outerWidth() }); return $copy; }, appendTo: 'body', scroll: false }); 

更改draggable属性

 <span draggable="true">Label</span> 

 <span draggable="false">Label</span> 

我有一个更简单和优雅的解决scheme,不会搞乱类,样式,不透明和东西。

对于可拖动的元素 – 添加“start”事件,每当您尝试将元素移动到某个位置时,都会执行该事件。 你将有一个条件,这是不合法的举动。 对于非法行为 – 使用'e.preventDefault();' 就像下面的代码一样。

  $(".disc").draggable({ revert: "invalid", cursor: "move", start: function(e, ui){ console.log("element is moving"); if(SOME_CONDITION_FOR_ILLEGAL_MOVE){ console.log("illegal move"); //This will prevent moving the element from it's position e.preventDefault(); } } }); 

不用谢 :)