
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 时如何解决事件监听范围过大的问题?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号