jquery ui,在悬停嵌套可放置时检测真实可放置区域
jquery ui, detect real droppable area on hover off nested droppable
我正在尝试构建一个嵌套 droppable
位置,在 drop
事件上我正在附加自定义 HTML 对象,它可能是一个 droppable
(这里总是droppable
),
现在的问题是:
如何通过当前选项为新的附加元素再次调用 droppable?
我想在over上检测真实的可投放区域,我做对了吗还是有更好的方法?
(关于
droppable 是嵌套的)
示例:Fiddle
下面是我在评论中提到的更好的例子:
http://jsfiddle.net/Twisty/pd3pur85/
JavaScript
$(function() {
function makeDrop(target) {
target.droppable({
greedy: true,
tolerance: 'touch',
drop: function(event, ui) {
ui.helper.detach();
var newDrop = $("<div>", {
class: "drop"
}).appendTo($(event.target));
$('.drop').removeClass('drag-hover');
makeDrop(newDrop);
},
over: function(event, ui) {
$('.drop').removeClass('drag-hover');
$(event.target).addClass('drag-hover');
},
});
}
makeDrop($(".drop"));
$('.drag').draggable({
revert: 'true',
helper: "clone",
});
});
然后您可以在 drop
期间将 Droppable 分配给动态创建的 <div>
。
就您的 over
而言,我怀疑这是目前的最佳用途。
我正在尝试构建一个嵌套 droppable
位置,在 drop
事件上我正在附加自定义 HTML 对象,它可能是一个 droppable
(这里总是droppable
),
现在的问题是:
如何通过当前选项为新的附加元素再次调用 droppable?
我想在over上检测真实的可投放区域,我做对了吗还是有更好的方法?
(关于 droppable 是嵌套的)
示例:Fiddle
下面是我在评论中提到的更好的例子:
http://jsfiddle.net/Twisty/pd3pur85/
JavaScript
$(function() {
function makeDrop(target) {
target.droppable({
greedy: true,
tolerance: 'touch',
drop: function(event, ui) {
ui.helper.detach();
var newDrop = $("<div>", {
class: "drop"
}).appendTo($(event.target));
$('.drop').removeClass('drag-hover');
makeDrop(newDrop);
},
over: function(event, ui) {
$('.drop').removeClass('drag-hover');
$(event.target).addClass('drag-hover');
},
});
}
makeDrop($(".drop"));
$('.drag').draggable({
revert: 'true',
helper: "clone",
});
});
然后您可以在 drop
期间将 Droppable 分配给动态创建的 <div>
。
就您的 over
而言,我怀疑这是目前的最佳用途。