我有一个jQuery UI draggable和几个单独定义的droppables。因为其中一个 droppable 被配置tolerance: 'intersect'
,所以一个可拖动对象可能同时被拖放到多个 droppable 上。
防止意外 droppables 发射的最佳方法是什么?基本上,我想优先考虑droppables,以便在tolerance: 'intersect'
触发另一个droppable 时不会触发droppables。
更新- 更多信息以澄清事情:
tolerance: 'pointer'
除了一类 droppable和tolerance: 'intersect'
.一类 droppable 具有的原因
tolerance: 'intersect'
是 droppable 非常狭窄,用户在使用tolerance: 'pointer'
.将 droppables 移得更远不是一种选择。
没有任何可放置对象重叠,但可拖动对象足够大,可以
tolerance: 'intersect'
在鼠标指针悬停在另一个可放置对象上时与 重叠tolerance: 'pointer'
。以这种方式一次最多可以触发两个 droppable。UI 的布局是这样的,
tolerance: 'intersect'
如果触发了另一个 droppable,则可以通过忽略 droppable 来确定用户的意图;即,如果用户将鼠标指针移到一个带有 的droppable 上tolerance: 'pointer'
,则可以安全地假设他/她打算将它放在那里。问题是,我不知道如何忽略不需要的 droppable。