gpt4 book ai didi

javascript - 如何调用嵌套在 forEach 循环内的 Javascript 函数

转载 作者:行者123 更新时间:2023-12-01 00:08:04 24 4
gpt4 key购买 nike

我正在尝试修改一个用于添加可用输入标签的插件 here

我在下面写了我的问题的简化版本。该插件在页面中搜索任何带有“tags-input”类的 HTML,并为每个找到的 HTML 创建一堆函数来添加和删除标签。每当检测到 keydown 事件时,插件就会触发 addTag() 函数。

[].forEach.call(document.getElementsByClassName('tags-input'), function (el) {
function addTag(str){
//code here adds a tag with a certain string "str"
}
});

addTag("some string"); //function not found!

当选择实时搜索的链接时,我希望能够从 forEach 循环外部调用 addTag() 函数。

我尝试在循环中添加监听器,但是,由于实时搜索的链接是在页面加载后从数据库生成的,因此监听器似乎不会接收它们。

如何从实时搜索中调用 addTag() 函数?

类似的问题对解决这个具体问题没有帮助:

Call javascript inside foreach loop - 没有给出答案

call javascript function outside foreach loop - 据我所知,有不同的问题

最佳答案

类似这样的,不是吗?

我明白你想要做什么:但为了简单起见,我使用了字符串值列表来表示另一种可能的方法:

//  Why not create a list of functions which correspond to each list item?
var doSomeThingFuncList = [];

["Yes","No","Maybe"].forEach(function (item) {
// Assuming that we will create a function for each list item that must be called outside of the loop
doSomeThingFuncList.push(
() => {
alert("Do Something");
}
);
});
// The functions we have defined inside the for-loop can now be called from outside the forEach loop through indexing the function list defined at the beginning

doSomeThingFuncList[0]();

基本上,知道哪个函数运行数组的哪个索引,您就可以通过这些按钮上的事件回调这些函数。但我不确定这背后的场景是什么。

关于javascript - 如何调用嵌套在 forEach 循环内的 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60233317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com