找回密码
 立即注册

QQ登录

只需一步,快速开始

slowsnail

中级会员

92

主题

173

帖子

623

积分

中级会员

积分
623
slowsnail
中级会员   /  发表于:2021-5-21 14:08  /   查看:3444  /  回复:5
100金币
我们需要通过命中测试定位某个坐标的行号和列号,由于在线编辑器有工具栏,所以需要减去工具栏高度才能正确获取行号: image.png473911437.png
image.png266019896.png

但由于这个高度会根据屏幕大小等变化,所以导致定位时常不准确,所以想问一下如何动态获取这个工具栏的高度?

5 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-5-21 14:16:03
沙发
您好,命中测试是根据视图的左上角为原点,是不会受到工具栏的影响。
image.png762379455.png

另外,您可以通过CellClick事件监听单元格的点击,这是API
https://demo.grapecity.com.cn/sp ... tml#event:CellClick
回复 使用道具 举报
slowsnail
中级会员   /  发表于:2021-5-21 17:02:14
板凳
Derrick.Jiao 发表于 2021-5-21 14:16
您好,命中测试是根据视图的左上角为原点,是不会受到工具栏的影响。

我们是想做外部节点拖拽到某个单元格的需求,所以目前已知是鼠标拖到的pageX和pageY,以及excel的designer面板相对父元素的offsetL和offsetT。正是因为命中测试是以左上角这个相对位置为原点,所以需要知道工具栏高度,从而计算出目前鼠标相对于excel单元格左上角的相对位置。不知我的描述是否清楚?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-5-21 17:22:16
地板
slowsnail 发表于 2021-5-21 17:02
我们是想做外部节点拖拽到某个单元格的需求,所以目前已知是鼠标拖到的pageX和pageY,以及excel的designe ...

您可以试试这句代码
document.getElementsByClassName("gc-ribbon-bar")[0].clientHeight + document.getElementsByClassName("top-panels")[0].clientHeight
回复 使用道具 举报
slowsnail
中级会员   /  发表于:2021-5-21 17:39:01
5#
Derrick.Jiao 发表于 2021-5-21 17:22
您可以试试这句代码
document.getElementsByClassName("gc-ribbon-bar")[0].clientHeight + document.ge ...

好的,谢谢解答!
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-5-21 17:45:30
6#
slowsnail 发表于 2021-5-21 17:39
好的,谢谢解答!

不用客气,有新问题欢迎开新帖交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部