如下图移动端经常需要做此功能,用户签字。用户填表啥的。
先用touch进行监听手指的触摸事件
获取所点击的坐标位置。
这里有很多要注意的地方。
初始化
uniapp里的canvas与原生的canvas有区别,渲染之后会多很多莫名其妙的div节点,并且还有个div直接就把原生的canvas覆盖掉了。如下图:下面的div直接就把上面的canvas覆盖掉了,所以我们在当前canvas里写了很多监听都无效。
initCanvas() {
this.canvas = this.$refs.my_canvas.$el.children[0]
this.ctx = this.canvas.getContext('2d');
}
绑定触摸事件
去uniapp官网之后才发现,uniapp对原生canvas做了封装。并且做好了各种触摸事件的指令
绑定事件获取坐标
原生canva