Javascript jquery-在我删除可拖动链接时防止其打开

Javascript jquery-在我删除可拖动链接时防止其打开,javascript,jquery,draggable,droppable,Javascript,Jquery,Draggable,Droppable,我有一个网格5 x 5的可放下的方块,然后还有几个可拖动的方块,就像链接一样。当在网格上的正方形之间移动它们时,没有问题,但是我还有一个“垃圾”可拖放的正方形,如果用户在上面放置一个可拖动的东西,则删除它 我的正方形网格和示例draggable如下所示- <div id="-2:-2" class="droppable"></div> <div id="-2:-1" class="droppable occupied"> <a href="htt

我有一个网格5 x 5的可放下的方块,然后还有几个可拖动的方块,就像链接一样。当在网格上的正方形之间移动它们时,没有问题,但是我还有一个“垃圾”可拖放的正方形,如果用户在上面放置一个可拖动的东西,则删除它

我的正方形网格和示例draggable如下所示-

<div id="-2:-2" class="droppable"></div>
<div id="-2:-1" class="droppable occupied">
    <a href="http://stackexchange.com" id ="20" class="bookmark draggable black" title="black" target="_blank"></a>
</div>
<div id="-2:0" class="droppable"></div>
<div id="-2:1" class="droppable"></div>
在css中,所有的方块,无论是可拖动的、可拖放的还是#垃圾都是相同大小的等等。然而,当我在垃圾桶上拖放时,底层链接有时会弹出。这不会发生在其他可拖放设备上,只有垃圾桶一个

我知道启动和停止功能,但我不认为它们对我有什么影响。有人知道如何阻止链接触发吗?

我猜试试这个

 $('.droppable').droppable({drop: function () {
 handleDropEvent();
 removelink($(this).find('a'))
 }, accept: function(e){if(e.hasClass('draggable')) { if (!$(this).hasClass('occupied'))      {return true; }}}


function removelink(obj) {
 obj.removeAttr('href');
}

这意味着在删除时只需调用一个额外的函数,这对现代浏览器很有帮助:

.ui-draggable-dragging {
  pointer-events: none;
}

不确定handleDropEvent是什么,但是如果它被放入trashI中,为什么不调用其中的removelink函数呢?因为handleDropEvent函数不是代码的一部分,所以它没有被调用。它通过ajax发送一些变量来更新数据库。但是除了drop:handleropevent,您可以执行drop:function(){handleropevent();removelink($(this.find('a'))}),在removelink函数中,您可以使用函数removelink(object,event,ui){}我很确定你的
id
属性是无效的;它们不能包含
字符(在CSS中用于伪选择器和伪元素),我不认为
-
字符是有效的第一个字符(但我真的不确定;尽管这不太可能与您的问题有任何关系)。感谢各位的回复@JamesDaly removelink函数实际上是在连接#trash to be.dropable时被称为drop:function的函数
 $('.droppable').droppable({drop: function () {
 handleDropEvent();
 removelink($(this).find('a'))
 }, accept: function(e){if(e.hasClass('draggable')) { if (!$(this).hasClass('occupied'))      {return true; }}}


function removelink(obj) {
 obj.removeAttr('href');
}
.ui-draggable-dragging {
  pointer-events: none;
}