找回密码
 立即注册

QQ登录

只需一步,快速开始

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证

超级版主

200

主题

9908

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
15552

讲师达人悬赏达人微信认证勋章SpreadJS 认证SpreadJS 高级认证元老葡萄

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-6-30 13:44  /   查看:840  /  回复:0
本帖最后由 Clark.Pan 于 2023-6-30 13:52 编辑

需求:


需要在点击Tab的时候插入一些代码,所以希望能有事件能够监听到Tab的点击

解决方法:

SpreadJS源生没有对点击Tab进行事件监听,只能通过自己监听js的click事件来进行判断
例如下面的代码:
  1. document.body.addEventListener("click",function (event) {
  2.   var target = event.target || event.srcElement;     
  3.   if (target.nodeName.toLocaleLowerCase() === "a") {  
  4.     if(target.getAttribute("role") == "tab"){
  5.       //do something you want
  6.       console.log("点击的是:" + target.innerHTML + "tab");
  7.     }
  8.   }
  9. });
复制代码
首先我们通过解析dom发现tab都是一个a标签,所以在判断中,我们首先判断target的nodeName是不是a标签。之后我们发现tab的dom中会有一个role的属性,属性名称为tab。那么接下来我们继续判断role属性的值为tab。最终我们需要知道点击的是哪一个tab名称,这个可以通过target.innerHTML来获取dom中的内容。
实际效果如下所示:
根据点击的tab不同,console显示点击tab的名称
2.gif

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部