【发布时间】:2013-02-19 23:27:52
【问题描述】:
我正在使用JQuery UI droppable 库功能,并且我想在用户将鼠标悬停在可放置目标上时提供视觉用户反馈。为此,我可以轻松地使用 hoverClass 选项来指定当它们有可拖动项目悬停时使用哪个类。
但我想做的是根据某些逻辑使用不同的hoverClass 值。基本上,有许多区域是“可拖放的”,并且有许多项目可以拖放 - 但是,并非所有项目都可以拖放到所有区域。因此,例如,如果 drop 有效,我希望有一个绿色背景,如果 drop 无效,则有一个红色背景。
如何做到这一点?我知道我想使用什么逻辑,但我可以在哪里添加逻辑。它显然需要在某个地方我可以访问被拖动的元素,以及潜在的放置目标元素。
到目前为止我的简单代码如下:
$(".DragItem").draggable({
revert: true,
helper: "clone"
});
$(".DropItem").droppable({
tolerance: "touch",
hoverClass: "DropTargetValid"
});
【问题讨论】:
-
这并不能直接回答您的问题,但听起来适合您的用例 - 您是否考虑过使用
scope/accept选项将某些可拖动对象分配给某些可放置对象?然后你就不需要逻辑来确定 hoverClass - 它只会在可拖动接受 droppable 时被分配。 -
@freejosh:我认为这不允许我为“无效”掉落指定一个类。无论如何现在得到我的答案:D
标签: javascript jquery jquery-ui jquery-ui-droppable