对于zrender绘制path事件监听范围过大?

作者站长头像
站长
· 阅读数 7

生成一个爱心,为什么事件监听范围会扩大,不在图形内点击也会触发事件,github了解到是因为生成的默认rect过大,issus的解决方案也不能解决这个问题/

   var zr = zrender.init(document.getElementById('main'));
        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`,
            {
                cursor: 'pointer',
                style: {
                    fill: 'red',
                    stroke: 'blue',
                    cursor: 'pointer'
                }
            },
            onclick = function () {
                console.log('click');
            }
        )

        zr.add(path);
回复
1个回答
avatar
test
2024-07-01
var zr = zrender.init(document.getElementById('main'));
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`,
    {
        cursor: 'pointer',
        draggable: true,
        style: {
            fill: 'red',
            stroke: 'blue'
        },
        ondrag: function () {
            console.log('click');
        }
    }
)

zr.add(path);
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容