防止可拖动链接在我放下它时打开
prevent a draggable link from opening when I drop it
我有一个5 × 5的可拖放正方形网格,然后还有几个可拖放的正方形,就像链接一样。当它们在网格上的方块之间移动时,没有问题,但我也有一个"垃圾"可拖放方块,如果用户在上面放一个可拖放方块,它就会被删除。
我的正方形网格和一个可拖拽的例子看起来像这样-
<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>
在页面的其他地方我有垃圾桶项-
<div>Delete me<div id="trash"></div></div>
然后是javascript -
$('.draggable').draggable({ start: function() {$('#dropdownAddTile').slideDown();}, stop: function() {$('#dropdownAddTile').slideUp();}, containment: '#container', snap:'.droppable, #trash', snapMode:'inner', revert:'invalid',snapTolerance: 32});
$('.droppable').droppable({drop: handleDropEvent, accept: function(e){if(e.hasClass('draggable')) { if (!$(this).hasClass('occupied')) {return true; }}}});
$('#trash').droppable({drop: removelink, accept: '.draggable'});
function removelink(event, ui) {
var draggableId = ui.draggable.attr("id");
$(ui.draggable).remove();
$.post("tiles/delete", { draggableId:draggableId }).done(function(data) {
//alert(data);
})
$('#dropdownAddTile').slideUp();
}
所有的正方形,无论是。draggable。dropable还是#trash,在css中都是相同大小的。然而,当我拖放垃圾桶时,底层链接有时会弹出。这种情况不会发生在其他可丢弃物品上,只有垃圾桶上的那个。
我知道启动和停止功能,但我不认为它们对我有什么不同。有谁知道如何阻止链接发射吗?
对现代浏览器有帮助:
.ui-draggable-dragging {
pointer-events: none;
}
试试这个,我猜
$('.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');
}
意思是当它被放下时调用一个额外的函数
相关文章:
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 删除对HTML元素的拖动
- jQuery UI可排序-多连接列表拖动
- 禁用SVG拖动
- 旋转后拖动对象
- JQuery UI可拖动潜水与滚动棒到鼠标
- jsPlumb-拖动克隆而不进行复制
- 当我在节点上拖动鼠标时,我如何防止使用d3.ehavior.zoom().on(“缩放”,重绘)
- 如何使元素在可拖动元素内可单击
- 如何在使用Kinetic拖动同一对象后,在旋转动画中保持先前的偏移
- 在d3中拖动一条线
- 使元素在iframe中可拖动
- 通过拖动可以更改三维模型对象在Three.js场景中的位置
- 如何使所有绘制的(矩形、圆形、直线、多边形)都可拖动?纯JS
- 拖动开始时更改可拖动元素的大小
- 如何正确拖动jqgrid编辑表单
- 交互.js拖动的项目移动到顶部
- 拖动&删除Fullcalendar.io资源-更新视图
- 如何在侦听器之后添加可拖动功能
- 防止可拖动链接在我放下它时打开