在触摸设备上拖动 html 元素时检测悬停
当您使用触摸事件(触摸屏上的 DnD)拖动元素时,如何检测正在拖动的对象位于另一个对象之上?
When you are dragging an element using the touch events (DnD on touch screens), how do you detect that the object that you are dragging is over another object?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 jQuery 很容易,在创建可拖动对象时添加“collide: 'block'”或“collide: 'flag'”。
http://plugins.jquery.com/project/collidable
With jQuery is easy, add "collide: 'block'" or "collide: 'flag'" when you create a draggable.
http://plugins.jquery.com/project/collidable
我还没有找到任何直接的解决方案。可以将可拖动元素放置在拖动手指的“外部”,但这在我的情况下不起作用。
就我而言,我有一个类似网格的元素,具有固定大小的子元素。因此,可以很容易地将 touchmove 的 pageX/pageY 与父元素进行比较,并通过将结果除以它们的尺寸来计算当前元素的索引。
I haven't found any direct solution for this. One can have draggable element positioned "outside" dragging finger, but this didn't work in my case.
In my case, I had a grid-like element with fixed size child elements. Therefore it was easy to compare pageX/pageY of touchmove to the parent element and count the current element index by dividing the result with their dimensions.