4

我有两个使用 jQuery 拖放的可能用例。在一种情况下,drop 有效,但前提是您密切针对.droppablediv 的顶部,

在另一种情况下,它永远不会起作用。

我真的看不出这里有什么问题,两者都应该可以正常工作。我也尝试过使用 z-index ,但这并没有解决任何问题。

4

2 回答 2

3

所以这个问题是由属性的组合引起的: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");
    }
});

工作版本:#1#2

于 2012-10-18T23:26:38.140 回答
0

我不确定我是否正确,但是...

clearfix在您的第一个示例中添加了一个类,它似乎有效:http: //jsfiddle.net/kboucher/4wBLG/

而且我相信第二个示例根本不起作用的原因是因为droppable容器实际上位于蓝色方块旁边。(我猜蓝色方块代表可放置区域?)

于 2012-10-18T23:05:27.543 回答