我有两个使用 jQuery 拖放的可能用例。在一种情况下,drop 有效,但前提是您密切针对.droppable
div 的顶部,
在另一种情况下,它永远不会起作用。
我真的看不出这里有什么问题,两者都应该可以正常工作。我也尝试过使用 z-index ,但这并没有解决任何问题。
所以这个问题是由属性的组合引起的:cursorAt
我故意偏移,它将助手移动到与光标不同的位置,以及设置为相交的可放置的默认选项“容差”。
当公差设置为相交时,它会等待可拖动助手与可放置容器相交至少 50%。而且由于我正在抵消我的助手,它很少正确重叠。
将可放置容差更改为“指针”会强制它只接受指针作为可拖动目标。
var taskSelected = $("#tablecontainer tr.selected").length;
$("#tablecontainer tr.selected").draggable({
cursor: "move",
cursorAt: { top:-12, left: -20 },
helper: function(event) {
return $("<div class='ui-widget-header'>" + taskSelected + " Tasks selected.</div>");
}
});
$(".featureOrgDataWrapper .droppable").droppable({
activeClass: "ui-state-highlight"
, tolerance: "pointer"
, drop: function (event, ui) {
alert("success");
}
});
我不确定我是否正确,但是...
我clearfix
在您的第一个示例中添加了一个类,它似乎有效:http: //jsfiddle.net/kboucher/4wBLG/
而且我相信第二个示例根本不起作用的原因是因为droppable
容器实际上位于蓝色方块旁边。(我猜蓝色方块代表可放置区域?)