找回密码
 立即注册

QQ登录

只需一步,快速开始

innerwang

中级会员

90

主题

364

帖子

920

积分

中级会员

积分
920
innerwang
中级会员   /  发表于:2023-12-6 18:53  /   查看:2347  /  回复:7
本帖最后由 innerwang 于 2023-12-6 19:08 编辑



如题:主要需求是想要获取触发点击时鼠标在整个视口中的位置/坐标, 基于此来弹出一个定位弹窗

7 个回复

倒序浏览
AlexZ讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-12-7 00:03:32
沙发
使用 Hittest 获取鼠标点击时的位置(注意,需要做相对位置的转换)


具体看这个例子:https://demo.grapecity.com.cn/sp ... /hit-testing/purejs
回复 使用道具 举报
innerwang
中级会员   /  发表于:2023-12-7 15:18:53
板凳
AlexZ 发表于 2023-12-7 00:03
使用 Hittest 获取鼠标点击时的位置(注意,需要做相对位置的转换)

还需要自行去监听点击事件么?? 能不能在 CellClick 这个 事件里把原始 event 信息传出来?
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-12-7 17:02:26
地板
您好,可以使用如下代码来获取单元格所在位置:
  1.   let containerPosition = {
  2.             left: spread.getHost().getBoundingClientRect().left,
  3.             top: spread.getHost().getBoundingClientRect().top
  4.         }
  5. spread.bind(GC.Spread.Sheets.Events.CellClick, function (e, info) {
  6.     var cellRect = spread.getActiveSheet().getCellRect(info.row,info.col);

  7.     console.log('x:', cellRect.x + containerPosition.left)
  8.     console.log('y:', cellRect.y + containerPosition.top)
  9. });
复制代码
执行结果如下图 所示:

注意,此时cellRect返回的坐标是单元格左上角位置,并不是鼠标此时的位置。
如果您想要获取鼠标此时的位置,可以直接使用此代码:


  1. spread.getHost().addEventListener('click', function(e){
  2.         var y = e.pageY - this.offsetTop;
  3.         var x = e.pageX - this.offsetLeft;
  4.         console.log(y,x)

  5.     });
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
innerwang
中级会员   /  发表于:2023-12-7 19:13:26
5#
Ellia.Duan 发表于 2023-12-7 17:02
您好,可以使用如下代码来获取单元格所在位置:
执行结果如下图 所示:

只能自行去监听点击事件吗? 你们能不能做一下功能增强,在 spread  的CellClick 事件的回调参数中同时传出这个事件?? 因为我也需要 CellClick 的数据,也需要鼠标位置,为了得到所有的数据还得去两个地方分别获取,有些麻烦
回复 使用道具 举报
AlexZ讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-12-7 19:18:17
6#
innerwang 发表于 2023-12-7 19:13
只能自行去监听点击事件吗? 你们能不能做一下功能增强,在 spread  的CellClick 事件的回调参数中同时传 ...

背景和需求都了解了

产品目前没有增强事件参数的计划
回复 使用道具 举报
innerwang
中级会员   /  发表于:2023-12-8 09:59:38
7#
AlexZ 发表于 2023-12-7 19:18
背景和需求都了解了

产品目前没有增强事件参数的计划

好,了解了, 谢谢               
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-12-8 11:35:07
8#
那本帖就先结贴了,有问题欢迎另开新帖交流。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部