canvas 父元素上touch无法捕捉到
发布于 6 年前 作者 jing49 15055 次浏览 来自 官方Issues

安卓客户端 7.0.7 1521

微信客户端 7.0.8

canvas 父元素上touchstart touchmove touchend 事件无法被捕获到,

由于开发工具上基础库没有2.9.0的选项,所以选择的是2.8.3 实际发生基础库为2.9.0

业务场景为:拖动四个点,选中特定区域,然后进行截图操作。为了在拖动是更流畅,将TOUCH事件绑定在父元素上。

之前该场景一直使用正常,在今天2019-10-15日之后突然大量用户反馈四个点拖动时无反应。经过代码重现后发现在基础库为2.9.0的小程序中,canvas阻止事件冒泡,导致父元素无法捕获到touch事件。因此无法拖动四个点进行绘制



wxml

<view class=“canvas-container” style=“width:360px;height:660px” bindtouchstart=“startEvent” bindtouchmove=“moveEvent” bindtouchend=“endEvent” >

    <canvas style="width: 360px; height: 360px;border: 1px solid red" canvas-id="firstCanvas"></canvas>

</view>

10.24 update---------------------

貌似2.9.0(2019.10.22 12:35)这个版本 事件冒泡又恢复了 并且canvas性能更好了 官方还会再次修改吗?


3 回复

昨天我几十个小程序全部瘫痪,现在可以了

canvas 标签的 touchstart touchmove touchend 事件无法被捕获到

回到顶部