【发布时间】:2013-11-18 12:06:00
【问题描述】:
我正在使用 html5 drag and drop api 创建日历。
我正在使用dragEnter 和dragLeave 来设置接收元素的样式并确定droppablity。
接收可放置元素有子元素,并且在拖动子元素时调用dragLeave。这个问题知道和描述here.
我尝试的解决方案是在子级上添加dragLeave 和dragEnter 事件并将逻辑传递回父视图。
这里是代码。 http://jsbin.com/iHaNuPo/17
问题是子级上的 `dragEnter' 在父级上的 'dragLeave' 之前被调用。
这是事件的顺序。
#in from outside parent to over child
1. parent-enter
2. child-enter
3. parent-leave
#out from over child to outside parent
1. parent-enter
2. child-leave
3. parent-leave
这是一个错误吗?
任何人都知道一种 Ember'ish 方法来防止父级的 dragLeave 事件在将鼠标悬停在子级上时触发?
或者修复事件dragLeave、dragEnter触发顺序的方法?
我应该放弃 html5 原生拖放并使用 jquery ui draggable/droppable 吗?
编辑
根据 Woody 的回答,这是一个工作示例。
【问题讨论】:
-
你应该放弃原生 d-n-d 吗?如果您使用具有垫片的库,它可能会确保您的兼容性。否则,无论如何它都会服从原生。
标签: ember.js drag-and-drop html5-draggable