【问题标题】:Dnd avatar: how to get wysiwyg-preview on dragOver?Dnd avatar:如何在dragOver上获得所见即所得的预览?
【发布时间】:2012-08-13 13:40:22
【问题描述】:

客户要求我们支持以下方案:

  • 在一个页面上,我们有一个容器:div 元素同时是 dojo.dnd.Source
  • 在容器内,我们有 9 个 div 元素,内容相似:2 个按钮和 2 个组合框

  • 用户应该能够定义这 9 个div 元素的顺序,只需在容器内拖动它们即可。

任务是在拖动时呈现可能的布局预览。

将不胜感激任何想法。

【问题讨论】:

  • 最简单的方法是采用纯 CSS 方式。 Dojo 设置 dojoDndItemOver 类,因此想法是更改 div.dojoDndItemOver 的宽度并设置填充。部分工作:有时会按预期工作,但有时会眨眼/跳得很厉害。而且,在这种方法中很难排除 div.dojoDndItemAnchor 元素。
  • 目前我正在尝试使用 eventHandlers 来执行一系列丢弃操作,并在 onDndCancel 上回滚。甚至不确定我是否走对了路。

标签: javascript dom dojo drag-and-drop dojo-dnd


【解决方案1】:

关注您的评论并首次尝试此解决方案,我谦虚地提出以下建议:

如果事物正在被动画化并且对鼠标指针的变化很敏感,你应该将两者分开:

  • 让具有拖放事件订阅的元素(父级)保持不变。永远不要改变它的外观。
  • 在此元素内创建一个元素(子元素),该元素会产生动画效果,但不会影响其父元素。
  • 父级可以是透明的。

这有帮助吗?

【讨论】:

  • 谢谢你,乔纳斯。我们暂时坚持使用基于 CSS 的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-21
  • 2011-07-18
  • 1970-01-01
  • 2017-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多