首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在javascript中获取更改名称的方法

如何在javascript中获取更改名称的方法
EN

Stack Overflow用户
提问于 2020-09-30 15:17:20
回答 1查看 83关注 0票数 1

我正在制作一个更改twitch.tv设置的脚本

当我需要检查切换按钮是否被选中时,这就足够简单了。但是每次加载页面时,用于捕获.checked上的true和false值的方法名称都会发生变化。

代码语言:javascript
运行
复制
var latencyButton = document.getElementsByClassName("tw-toggle__input")[0];

if(latencyButton.__reactEventHandlers$kupq2smnamk.checked) 
   latencyButton.click();
   console.log("Latency Changed");
}

这是__reactEventHandlers$(这一部分)的变化,所以我有一些东西可以开始。

编辑:添加切换按钮周围的HTML

代码语言:javascript
运行
复制
<div data-test-selector="low-latency-toggle" class="tw-align-items-center tw-flex"><label class="tw-drop-down-menu-input-item__label tw-flex-grow-1 tw-mg-r-2" for="f8960cb3c79352dd6dd718358e42a812">Low Latency</label><div class="tw-toggle" data-test-selector="low-latency-toggle"><input type="checkbox" class="tw-toggle__input" id="f8960cb3c79352dd6dd718358e42a812" data-a-target="tw-toggle"><label for="f8960cb3c79352dd6dd718358e42a812" class="tw-toggle__button"><p class="tw-hide-accessible">Low Latency</p></label></div></div>

有没有办法在没有方法名称的情况下获得校验值?或者像获取方法名称以在变量中使用的方法?

感谢你抽出时间来-Crysal

EN

Stack Overflow用户

回答已采纳

发布于 2020-09-30 15:37:01

您可以尝试使用filterindexOf来查找函数名。类似于:

代码语言:javascript
运行
复制
let el = document.querySelector(".tw-toggle__input");
let reactHandlerName = Object.keys(el).filter((item) => item.indexOf('__reactEventHandlers')>=0);
let reactHandler = el[reactHandlerName[0]]; // this should be the function name
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64132669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档