当我设置可拖动对象捕捉到一个范围(只做内部捕捉)时,我发现它经常返回相邻的捕捉,尽管显然是在它们之外。注意SnapMode,因为它是最重要的部分:jQuery UI Snappable不能仅返回内部捕捉与捕捉模式设置
$(".draggable").draggable({
snap: ".snap",
snapMode: "inner",
stop: function(event, ui) {
/* Get the possible snap targets: */
var snapped = $(this).data('draggable').snapElements;
/* Pull out only the snap targets that are "snapping": */
var snappedTo = $.map(snapped, function(element) {
return element.snapping ? element.item : null;
});
/* Display the results: */
var result= '';
$.each(snappedTo, function(idx, item) {
result += $(item).text() + ", ";
});
$("#results").html("Snapped to: " + (result === '' ? "Nothing!" : result));
}
});
这原本是基于这样一个问题:How to find out about the "snapped to" element for jQuery UI draggable elements on snap
我需要“snappable”区为每设计我彼此相邻“M试图建立对,就像这样:
我的jsfiddle证明这个问题是在这里:http://jsfiddle.net/myingling/dx54dapr/1/
(尝试捕捉到捕捉2,你会看到它说它捕捉到捕捉1和捕捉2!)
我认为你需要把两个卡领域 – codtex
之间的一些空间为什么,如果我使用'SNAPMODE:“内部”'?不应该只检测丢弃区域内的物体? – Bing