如何禁用在拖放时拖动可拖动的div?

时间:2014-01-30 23:41:59

标签: jquery draggable

我想创建一个div,其中draggable可以是div,但是当我将其放在另一个$(".draggable").draggable({ helper: "clone" 时,也无法再拖动它。

我找不到一个功能。我试过

{{1}}

但没有结果。

1 个答案:

答案 0 :(得分:0)

您可以在可拖动的div上捕获dragstop事件,在该处理程序的功能内,您可以删除可拖动的功能。像这样:

$( ".draggable" ).on( "dragstop", function( event, ui ) {

     $( ".draggable" ).draggable('destroy');

} );

同样,你也可以在你的可拖动div的初始化中包含它,如下所示:

$( ".draggable" ).draggable({
  stop: function( event, ui ) {
      $( ".draggable" ).draggable('destroy');
  }
});

如果您只希望在将其放入另一个特定div中时发生这种情况,而不仅仅是在它被删除的任何时候,那么您需要将此代码放在您的droppable div的drop事件的处理程序中。 ...

$( ".droppable" ).droppable({
  drop: function( event, ui ) {
      $( ".draggable" ).draggable('destroy');
  }
});

$( ".droppable" ).on( "drop", function( event, ui ) {
     $( ".draggable" ).draggable('destroy');
} );

注意:您可以通过替换以下内容来实现相同的功能:

$( ".draggable" ).draggable('destroy');

$( ".draggable" ).draggable('disable');

如果你计划将来再打一次,可以打电话给:

$( ".draggable" ).draggable('enable');