我有兩種可能的使用jQuery拖放的用例。 在一個case降工作,但只有當你仔細瞄準.droppable
div的頂部,jQuery droppable容器不總是捕捉放置事件
在它只是永遠不會奏效其他case。
我真的不能看到問題在這裏,兩者都應該工作得很好。我也嘗試過使用z-index,但這並不能解決任何問題。
我有兩種可能的使用jQuery拖放的用例。 在一個case降工作,但只有當你仔細瞄準.droppable
div的頂部,jQuery droppable容器不總是捕捉放置事件
在它只是永遠不會奏效其他case。
我真的不能看到問題在這裏,兩者都應該工作得很好。我也嘗試過使用z-index,但這並不能解決任何問題。
所以,這個問題是由我特意偏移的屬性組合導致的:cursorAt
,它將幫助器移動到與光標不同的位置,以及設置爲相交的可放置的默認選項「容差」。
當tolerance設置爲Intersect時,它等待可拖動輔助器與可放置容器相交至少50%。而且由於我抵消了我的幫手,它很少重疊正確。
將droppable容差更改爲「pointer」會迫使它只接受指針作爲可拖動目標。
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
容器實際上位於藍色方塊旁邊。 (我猜藍色方塊代表可投放區域?)
如果您嘗試在任格多次clearfix不工作,他們的行爲,他們現在做同樣的方式,可放開只能在TE .droppable頂部容器。在第二個例子中,可放置的容器不在藍色旁邊,它們是藍色方塊,它們只是突出顯示並變成藍色。 – LanFeusT
@Lan:如果你在第二個例子中檢查Firebug中的dropzones,你會發現它們在藍色方塊旁邊。 –
右邊的拖放區域是我的屏幕上的邊界,儘管Oo但我明白了。 – LanFeusT