它是能够改变定位的身的道场工具包的dnd api?目前,拖动时,虚拟形象的项目出现拖的权利和以下鼠标。我希望它是在相同的位置老鼠标。我跑了一些可用性测试我的应用程序,和大多数人似乎尝试,试图拖身进入下降的区域,而不是将光标移动通过下降的区域。任何输入将是很好的。谢谢!

有帮助吗?

解决方案

对不起,不可能由于技术原因。

更新:通过受欢迎的要求,这些都是技术原因:

  • 当你有一点下鼠标,节点获取所有老鼠的事件。
  • 老鼠活动的泡沫父链。
  • 现在想象一下,你移动,这一点与老鼠—这个节点将始终得到所有老鼠的事件。
  • 这意味着任何其他节点,例如,目标无法得到老鼠的事件,除非它是父母的移动节点。这通常不是这种情况。

但我知道其他人能做到这一点!它应该是可能的!是的,这是可能...在原则:

  • 让的登记所有目标中的节点。
  • 让我们赶上有关老鼠移动的事件直接在最顶上的父母(该文件)。
  • 当我们检测一拖操作中,让我们做到以下几点:
    1. 计算出的几何形状(边框)的所有目标。
    2. 在每一次鼠标移动可以让检查,如果当前鼠的位置重叠的目标。奖励点分为"A+"学生:检测的重叠与其他节,e。g,当一个目标是部分模糊的用于化妆品的原因,并处理这种情况是正确的。
    3. 如果当前鼠的位置重叠的目标,让我们发起"降是可能的"行动,例如,展示一些线索,使终端用户知道,她可以下降了。

为什么道场不那么做?对于一些技术原因(最后我们到了那里!):

  • 一个节点的几何计算都是众所周知的越野车在大多数浏览器。尽快表都参与其中,或任何其他非微不足道装置的位置,你不能100%肯定的边界框正确的。
  • 几何计算是一项昂贵的操作,而且我们必须这样做至少有一次,在每一个拖操作的所有目标假设没有变化,可以在拖操作(不总是这种情况下)。浏览器可以回流节点对于许多原因⇒它可以移动/调整现有目标,因此,我们必须保持警惕。
  • 典型的计算框保留在列表⇒检查清单交叉点是O(n)(线性)⇒不规模及数量的指标增长。
  • 所有老鼠的事件处理程序应当快,否则浏览器的事件处理设施可以是"打破"导致不可预知的副作用。看到前面的分原因为什么老鼠的事件的处理可以是缓慢的。
  • 提高在线搜索是可能的,例如,2D空间树可以使用,但它导致了更多的(更)JavaScript code⇒更多的东西上下载客户的侧⇒通常这是不是值得的。

我怎么知道?因为道场使用这种拖放在早期版本中,我们得到厌倦斗争的问题我上所述。任何的改善是一场艰苦的战斗,从而增加的码尺寸。最后,我们决定反对重新塑造和推广机制已经建立在一个浏览器。浏览器并几乎同样的工作:计算出的几何形状的节点,发现潜在的节点,并将一个老鼠移动事件的适当地进行。

目前的实施并没有使用鼠标移动活动并不计算的几何形状。相反,它依赖于小鼠在出事件的检测目标的后拖是开始。这可以可靠地工作和尺度。

另一个皱在这样的故事:道场对待的目标作为集装箱—一个很常见的使用情况(购物车,重新安排项目、编辑层次结构).直线集装箱和一般的树林是实施目前,集装箱定义是可能的。当拖你可以看到和降拖项目中的适当位置内的一个目标的容器,例如,插入它们之间现有的项目。执行这一功能使用几何计算和检查将是极其昂贵。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top