canvas-editor icon indicating copy to clipboard operation
canvas-editor copied to clipboard

getPositionContextByEvent获取area信息

Open A25468451 opened this issue 7 months ago • 3 comments

What problem does this feature solve?

作者你好。我想要在鼠标移入 area 或其他组件时,在右上角显示控件提示信息(类似 前端的hover功能) 所以需要在 mouseover 和 mouseout 等事件中获得当前的控件信息 和 控件坐标 。 目前是否支持?

若不支持则请求增强该功能。 该功能可以解决以下两种需求或更多 1、鼠标移上去显示hover提示信息 2、可扩展自定义hover菜单

What does the proposed API look like?

....

A25468451 avatar Apr 17 '25 10:04 A25468451

该功能,跟 #762 相关。我感觉只要能在 mouseover 和 mouseout 等事件中输出对应的控件信息,完全可以自行实现 #762 所需需求,且还能拥有更多的可扩展性。 (:

A25468451 avatar Apr 17 '25 10:04 A25468451

https://github.com/Hufe921/canvas-editor/issues/739

Hufe921 avatar Apr 17 '25 13:04 Hufe921

#739

@Hufe921 你好,使用 instance.command.getPositionContextByEvent 方式的话,只会在控件生效。area 输出结果为 null。看样子是不支持 area 。是否有别的方式? 没有的话,请求增强 getPositionContextByEvent api (:

A25468451 avatar Apr 17 '25 14:04 A25468451

  instance.eventBus.on(
    'mousemove',
    debounce(evt => {
      const context = instance.command.getPositionContextByEvent(evt, {
        isMustDirectHit: false
      })
      if (context?.element?.areaId) {
        console.log(context.element.area)
      }
    }, 300)
  )

Hufe921 avatar Jul 13 '25 09:07 Hufe921