javascript - 如何在 Javascript 中的 EventListener 函数之外获取变量值?
问题描述
我有这段代码,我想在EventListener
函数外部访问变量值以捕获单击了哪个按钮,以便我可以显示具有相关按钮值的模式窗口。请帮忙。
在这里,在下面的代码中,我想为变量赋值wordClicked
。
const btn1OpenModal = document.querySelector(".word-one");
const btn2OpenModal = document.querySelector(".word-two");
const btn3OpenModal = document.querySelector(".word-three");
const btn4OpenModal = document.querySelector(".word-four");
export let wordClicked;
btn1OpenModal.addEventListener("click", function () {
openModal();
wordClicked = "firstWord";
});
btn2OpenModal.addEventListener("click", function () {
openModal();
wordClicked = "secondWord";
});
btn3OpenModal.addEventListener("click", function () {
openModal();
wordClicked = "thirdWord";
});
btn4OpenModal.addEventListener("click", function () {
openModal();
wordClicked = "fourthWord";
});
解决方案
您不能导出变量,只能导出值。
当时你export
的值是wordClicked
,那个值是undefined
。
您以后无法更改导出的值。
您可以导出一个对象,然后更改该对象的属性,但您可能需要让事件侦听器函数自己负责打开模型。
推荐阅读
- c++ - 如何使用 std::ostringstream 来检查输出?
- c++ - Gdiplus::Image::FromStream 返回 NULL
- javascript - Elasticsearch 按自定义 created_at 字段排序
- javascript - 在 SVG 标签内使用动态渲染图像有什么可能吗?
- c++ - 具有不同数据类型的容器:2 种方法,只有一种可以编译。为什么?
- javascript - PayPal Express 运费未在补丁中更新
- python - 我应该如何获取包含 [start, end] 范围的列表并将较短的范围“吸收”到重叠的较大范围中?
- apache-kafka-streams - Apache Kafka ksqlDB 将流转发到现有主题
- axios - 使用 NUXT、Axios、NEST 和 CSURF 进行 CSRF 保护
- c# - C# XElement 作为谓词<>