找回密码
 立即注册

QQ登录

只需一步,快速开始

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-7-22 10:59  /   查看:175  /  回复:0
本帖最后由 Clark.Pan 于 2024-7-22 11:02 编辑

背景:

用户有需求需要监听在线表格编辑器上方 Tab 对应的点击事件,在事件中做处理。
image.png656273498.png
解决方案:
SpreadJS 源生并没有提供上面 Tab 的点击事件,所以我们需要通过解析 dom 结构自行处理此处。如下图所示,当我们查看网页 dom 元素的时候,我们发现所有的Tab都会有一个 "role" 的属性,且值为"tab"。于是我们可以监听全局的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. });
复制代码

通过上述判断,我们就可以监听到tab的点击事件了。
image.png158554381.png

0 个回复

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