dropable的Over事件是't工作正常,在可拖动对象被拖放到贪婪的可拖动对象上并再次拖动后
Over event of droppable isn't working correctly, after draggable is dropped on greedy droppable and dragged again
下面的jsbin可以很好地解释未触发over事件的情况。
执行以下操作:
-
将可拖动对象(黄色)拖动到滴管(红色和蓝色)上,在over事件中,滴管将其背景颜色更改为绿色,在out事件中,它们将其背景色更改回绿色。
-
将可拖动对象放置在内部可拖动对象上(蓝色)。
-
将可拖动对象拖动到外部可拖动对象(红色)上,它应该将其背景色更改为绿色,但它没有!over事件不会触发,但当您再次使外部可滴管时,其out事件会触发。从那时起,它又像预期的那样工作了。
我认为这种行为是个错误。我应该创建一个bug票证吗?
编辑:
如果我只是为可丢弃选项设置了一个hoverClass,也可以实现同样的行为。请参阅下面的jsbin。这一定是一个错误,因为行为不一致。将可拖动对象放入内部可拖动对象后,行为会有所不同。
我想出了一个变通办法:
通过调查行为,out事件中必须有一些逻辑,而drop事件中没有发生这种逻辑。每次可拖动对象进入贪婪可丢弃对象时,都会应用一些逻辑来防止祖先可丢弃对象触发其丢弃事件。在每次输出事件中,此逻辑都会重置,并且在下降事件中此重置丢失。因此,我从out事件中提取了所需的部分,并将它们实现到drop事件中。
请参阅以下jsbin
我已经可以为没有打开错误票证而道歉了。如果有人想那样做,请继续。
编辑:
Ankit Saroch指出,这个问题已经有了一个错误通知单,而且还有一个更简单的解决方法。查看他在问题文本下方的评论。
相关文章:
- 旋转后拖动对象
- Javascript拖动对象
- dropable的Over事件是't工作正常,在可拖动对象被拖放到贪婪的可拖动对象上并再次拖动后
- 如何在拖动对象时检测画布的中心线以使其居中
- 删除时禁用可拖动对象
- 拖放无法识别动画CC中拖动对象的子对象
- 防止可拖动对象被添加多次jQuery
- 还原可拖动对象
- 在放置之前找到拖动对象的位置
- Jquery UI:如何指示可拖动对象成功拖放到可排序对象上
- jquery UI 两个可拖动对象冲突
- 如何将可拖动对象移动到某个区域
- AngularJS指令拖动对象如何删除不需要的鼠标效果
- 用于 Web 浏览器上可拖动对象的 Javascript 框架
- 使用 HTML CSS 和 JS 拖动对象
- 原生HTML5拖放:使可拖动对象不可拖放
- jQuery UI:Y 鼠标在放置可拖动对象时坐标错误
- 如何在 Jquery 中初始化可拖放对象上的可拖动对象
- 如何在jqueryui中实现可拖动对象的堆叠属性
- 当缩放画布然后平移时,现在如果我试图在画布内拖动对象,则无法拖动.但画布只是平移