我有mousedown
和mouseup
事件在桌面上运行良好,需要在移动的上进行类似的工作。
<rect :x="xPos" :y="yPos" width="75"
class="arrowbox"
@mousedown="mousedown" @mouseup="mouseup"
/>
在发现我对移动的(Galaxy Tab)上的mousedown
没有React后,我尝试了这个:
<rect :x="xPos" :y="yPos" width="75"
class="arrowbox"
@mousedown="mousedown" @touchstart="mousedown"
@mouseup="mouseup" @touchend="mouseup"
/>
这为移动的上的touchstart
提供了正确的响应,但是**mouseup
和touchend
现在都被触发了,所以我有两次触摸,而我只想触摸一次。所以我试着删除touchend
处理程序。现在手机触摸屏可以正常工作了 * 如果触摸很快完成 *。如果我触摸,保持两秒钟,然后释放,touchend
事件似乎没有触发。是否有解决方案?
我看过其他类似的帖子,但它们与touchmove
事件有关,我不需要。
1条答案
按热度按时间bxgwgixi1#
事实证明,这不是一个与vue相关的问题,只是我缺乏编程
touch
的经验。我需要为触摸事件添加不同的处理程序,并在使用与鼠标事件相同的代码之前调用preventDefault()。