请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

小叮当丷
初级会员   /  发表于:2024-1-29 17:54  /   查看:438  /  回复:5
25金币
通过setHyperlink自定义的超链接单元格,

点击后一直为红色,如何让他恢复到未点击的状态?
未点击和点击后的颜色如何自定义?

最佳答案

查看完整内容

如果是这样的话,可以在点击其他地方以后重新给旧的单元格设置hyperlink:

5 个回复

倒序浏览
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-1-29 17:54:35
来自 4#
如果是这样的话,可以在点击其他地方以后重新给旧的单元格设置hyperlink:

  1. sheet.setHyperlink(1, 1, {
  2.   url: 'https://www.grapecity.com/spreadjs',
  3.   tooltip: 'baidu',
  4.   target: GC.Spread.Sheets.Hyperlink.HyperlinkTargetType.top,
  5.   command: function () { console.log('Only show this message when click the hyperlink.') }
  6. }, GC.Spread.Sheets.SheetArea.viewport);

  7. sheet.bind(GC.Spread.Sheets.Events.SelectionChanged, function (sender, args) {
  8.   let oldRow = args.oldSelections[0].row;
  9.   let oldCol = args.oldSelections[0].col;
  10.   let newRow = args.newSelections[0].row;
  11.   let newCol = args.newSelections[0].col;

  12.   let oldCell = sheet.getHyperlink(oldRow, oldCol);
  13.   if (oldCell) {
  14.     sheet.setHyperlink(oldRow, oldCol, {
  15.       url: oldCell.url,
  16.       tooltip: oldCell.tooltip,
  17.       target: oldCell.target,
  18.       command: oldCell.command
  19.     }, GC.Spread.Sheets.SheetArea.viewport);
  20.   }
  21. });
复制代码
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-1-29 18:05:36
2#
image.png521767882.png

image.png67252501.png

您好,将linkColor和visitedLinkColor修改为一致即可。
回复 使用道具 举报
小叮当丷
初级会员   /  发表于:2024-1-30 08:48:33
3#
Joestar.Xu 发表于 2024-1-29 18:05
您好,将linkColor和visitedLinkColor修改为一致即可。

您好,不是想点击后看不出点击效果,是想点击后,如果点其他单元格或其他地方,这里恢复成未点击的状态
回复 使用道具 举报
小叮当丷
初级会员   /  发表于:2024-1-31 08:49:21
5#
Joestar.Xu 发表于 2024-1-30 09:47
如果是这样的话,可以在点击其他地方以后重新给旧的单元格设置hyperlink:

有没有方法判断一下oldcell是否是超链接的单元格
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-1-31 11:17:12
6#
您可以直接调用sheet.getHyperlink(oldRow, oldCol);,如果返回值不为空,则表明为超链接单元格。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部