Javascript jquery-在我删除可拖动链接时防止其打开
我有一个网格5 x 5的可放下的方块,然后还有几个可拖动的方块,就像链接一样。当在网格上的正方形之间移动它们时,没有问题,但是我还有一个“垃圾”可拖放的正方形,如果用户在上面放置一个可拖动的东西,则删除它 我的正方形网格和示例draggable如下所示-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
<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;
}