我需要能够在ACE编辑器中获得活动光标的物理鼠标位置(以像素作为视口的偏移量)。Ace通过colum和行位置提供所有的定位信息(即。GetCursorPosition(),但是我找不到从那个位置获取鼠标位置的方法。
用例是显式地弹出主机应用程序中的外部(非html)上下文菜单,当使用仅使用键盘的文档导航时,在光标位置而不是在鼠标位置。
我已经通过鼠标事件跟踪鼠标的位置,所以我可以弹出鼠标光标。但是,当鼠标指针在其他地方时,我无法处理这个场景,因为用户正在用键盘导航文档。然后,我需要弹出用于拼写检查和一般上下文敏感任务的自定义菜单。
但是,如果没有绝对的鼠标位置,菜单就不能在正确的位置弹出,因为我不能将ACE的行/列位置与物理鼠标位置关联起来。
有什么想法吗?如何从光标位置得到鼠标位置?
发布于 2022-09-11 08:42:53
使用editor.renderer.textToScreenCoordinates(row, column)
,它返回表单{pageX: number, pageY: number}
https://ajaxorg.github.io/ace-api-docs/classes/Ace.VirtualRenderer.html#textToScreenCoordinates中的一个对象
https://stackoverflow.com/questions/73675634
复制相似问题