zrender 绘制 Path 时如何解决事件监听范围过大的问题?
zrender 绘制 path 事件监听范围过大
问题描述:
绘制一个爱心 path 时,点击事件监听范围超出图形区域,导致不在图形内部点击也会触发事件。已知问题原因是生成的默认 rect 过大,但 Github 上给出的解决方案并未解决此问题。
解决方法:
修改代码,将事件类型更改为拖动,并移除 cursor 样式:
var path = new zrender.path.createFromString(`M 10,30 A 20, 20 0, 0, 1 50, 30 A 20, 20 0, 0, 1 90, 30Q 90, 60 50, 90Q 10, 60 10, 30 z`, { draggable: true, // 修改事件类型为拖动 style: { fill: 'red', stroke: 'blue' }, ondrag: function () { console.log('click'); } } )
通过修改事件类型和移除 cursor 样式,事件监听范围将局限在 path 形状区域内,解决超出监听的问题。
以上就是zrender 绘制 Path 时如何解决事件监听范围过大的问题?的详细内容,更多请关注其它相关文章!