找回密码
 立即注册

QQ登录

只需一步,快速开始

jerryniepan

初级会员

32

主题

132

帖子

336

积分

初级会员

积分
336
jerryniepan
初级会员   /  发表于:2017-7-7 17:00  /   查看:3044  /  回复:9
如何区分点击自定义单元格还是框选单元格, 当有合并的情况下呢?

9 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-8 00:38:18
沙发
您好,很抱歉没太明白您的意思,请您详细描述一下您的问题,或者提供一个能够重现问题的demo,谢谢。
回复 使用道具 举报
jerryniepan
初级会员   /  发表于:2017-7-10 11:57:16
板凳
ClarkPan 发表于 2017-7-8 00:38
您好,很抱歉没太明白您的意思,请您详细描述一下您的问题,或者提供一个能够重现问题的demo,谢谢。

sorry,可能我没说清楚,这样的:
当点击自定义单元格的时候,会执行点击的回调,当框选单元格的时候可以进行复制等操作,但是框选从“可以点击的自定义单元格”开始,框选结束后会执行点击回调事件,从而跳转(或其他交互执行),所以想区分是否框选来阻止回调执行,请问如何区分呢?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-10 12:26:07
地板
jerryniepan 发表于 2017-7-10 11:57
sorry,可能我没说清楚,这样的:
当点击自定义单元格的时候,会执行点击的回调,当框选单元格的时候可 ...

您可以在自定义单元格的点击事件中,先行判断当前选中范围是否是一格,如果大于一格,则不进行后面的事件即可。用if(sheet.getSelections[0].colCount>1||sheet.getSelections[0].rowCount>1)可以进行判断。
回复 使用道具 举报
jerryniepan
初级会员   /  发表于:2017-7-10 14:15:54
5#
ClarkPan 发表于 2017-7-10 12:26
您可以在自定义单元格的点击事件中,先行判断当前选中范围是否是一格,如果大于一格,则不进行后面的事件 ...

这样子有个问题,如果这个自定义单元格是合并了的呢?而合并的自定义单元格的hitInfo只能拿到合并前的信息
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-10 14:30:24
6#
jerryniepan 发表于 2017-7-10 14:15
这样子有个问题,如果这个自定义单元格是合并了的呢?而合并的自定义单元格的hitInfo只能拿到合并前的信 ...

您好,可以用getSpans查一下该单元格是否被合并,getSpans获取到所有的合并单元格,然后循环遍历获取row,col可以判断该单元格是否被合并。
回复 使用道具 举报
jerryniepan
初级会员   /  发表于:2017-7-10 15:00:05
7#
ClarkPan 发表于 2017-7-10 14:30
您好,可以用getSpans查一下该单元格是否被合并,getSpans获取到所有的合并单元格,然后循环遍历获取row ...

这样可以判断出哦,有木有性能更好一点的做法呢?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-10 15:06:31
8#
jerryniepan 发表于 2017-7-10 15:00
这样可以判断出哦,有木有性能更好一点的做法呢?

这个应该不会有什么性能问题,全是数据的循环操作,并不牵扯页面重绘
回复 使用道具 举报
jerryniepan
初级会员   /  发表于:2017-7-10 15:24:28
9#
ClarkPan 发表于 2017-7-10 15:06
这个应该不会有什么性能问题,全是数据的循环操作,并不牵扯页面重绘

好的,多谢
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-10 16:23:44
10#

不客气,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部