我有一个网格,允许拖动和调整内部项目的大小。我希望拖动项目时出现拖动效果。如果我在 css 中对元素进行用户拖动属性,则不允许调整大小。因此,我在运行时(使用 Renderer.setElementStyle(在 MouseMove 方法上将该 css 属性附加到元素。这一切都非常适合与鼠标相关的操作。
现在,我需要为触摸设备复制相同的内容。基本上,我需要将用户拖动属性附加到 touchStart 事件上的元素。使用 Renderer.setElementStyle 无济于事。
问题: 1. 如果我们使用用户拖动属性,在触摸设备上是否可以看到拖动效果? 2. 如果是,我们如何在运行时在 Angular 应用程序中设置它?
回答这个问题:
HTML5 拖放 API 不支持基于触摸的交互。只有鼠标。因此,设置此属性对于触摸案例无关紧要。
要实现拖放,应该使用触摸事件(touchstart,touchmove,touchend,touchcancel(或利用库来构建它。