jQuery draggable / droppable问题

时间:2010-08-19 13:52:59

标签: javascript jquery drag-and-drop

我可以毫无问题地拖动物品,遗憾的是物品可以拖到任何我不想要的地方。我只希望在某些特定区域(例如buttonmenu)上拖动项目。我使用了很多方法,但我没有得到任何结果。你能告诉我如何禁用id为34的按钮菜单,不要在那里删除按钮吗?您可以看到我正在使用的代码(不适用于不删除)

最好的问候

Altaico

以下是代码:

$("#35").draggable();
$("myArticle").droppable( "option", "disabled", true );

3 个答案:

答案 0 :(得分:2)

你想在可拖动对象上设置revert:invalid选项,如果它被放到没有标记为droppable的任何东西上,它会导致它回弹,所以试试:

$("#35").draggable({revert: "invalid"}));
$("myArticle").droppable( "option", "disabled", true );
$("#36").droppable( "option", "disabled", false );

这意味着您可以将35拖到36但不会拖到myarticle上。

以下是整页html:

<head>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>
</head>    
<body>
  <script type="text/javascript">
    $().ready(function() {
      $("#35").draggable({revert: "invalid"});
      $("#36").droppable({disabled: false });
    });
  </script>
  <div id="34" style="width:100px; height:100px; background-color:red;"> 
    </div>
  <div id="35" style="width:100px; height:100px; background-color:yellow;" >
     </div>
  <div id="36" style="width:300px; height:300px; border:solid blue 1px;">
    drop me here
  </div>
</body>

这会呈现2个彩色块(div)。你可以拖动黄色的一个(id 35)并将其放在标有“drop me here”的方格中。如果你想把它放在其他任何地方,你必须用droppable

装饰那个区域

希望这有帮助

答案 1 :(得分:0)

查看droppable元素的accept选项 - 这允许您指定拖动元素在考虑进行drop oeration之前必须具有哪些类,或者您可以使用的函数根据其他一些标准做出这个决定。

答案 2 :(得分:0)

JonNeale

$("#35").draggable({revert: "invalid"});
$("#myArticle").droppable( "option", "disabled", true );
$("#54").droppable( "option", "disabled", false );

这次我无法删除按钮35.我可以拖动它但是我不能把它放在任何地方,所以我想把它放在名为54的按钮菜单上。我怎么能放下它只有buttonmenu 54?