从html oninput()事件调用javascript中的对象方法

从html oninput()事件调用javascript中的对象方法,javascript,html,object,events,methods,Javascript,Html,Object,Events,Methods,在javascript中,我有一个相同类的对象列表。 每个对象都有相同的变量和方法。 对于添加到列表中的每个对象,都会在html代码中添加一个输入字段 现在,当输入字段的值更改时() 我想调用列表中与输入字段一起添加到列表中的确切对象的inputModified()方法。 你将如何做到这一点 此外,如果从列表中删除某个对象,则为该对象添加的html代码也将被删除 增量id是唯一的方法吗? 另外,请注意,我不能使用jquery或任何类似的工具。谢谢 最好的方法是根本不要使用。使用现代事件处理。然后

在javascript中,我有一个相同类的对象列表。 每个对象都有相同的变量和方法。 对于添加到列表中的每个对象,都会在html代码中添加一个输入字段

现在,当输入字段的值更改时(
) 我想调用列表中与输入字段一起添加到列表中的确切对象的
inputModified()
方法。 你将如何做到这一点

此外,如果从列表中删除某个对象,则为该对象添加的html代码也将被删除

增量id是唯一的方法吗?
另外,请注意,我不能使用jquery或任何类似的工具。谢谢

最好的方法是根本不要使用
。使用现代事件处理。然后,您可以附加一个处理程序来关闭列表中的条目,或者在元素的列表中包含该位置,并在这些
input
s所在的容器上使用委派的
input
处理程序来确定要更新列表中的哪个条目

下面是第一个选项的示例,关闭列表中的条目:

函数addToDOM(条目){
常量输入=document.createElement(“输入”);
input.type=“text”;
input.value=entry.value;
//事件处理程序关闭'input'和'entry'`
addEventListener(“输入”,函数(){
entry.value=input.value;
});
返回输入;
}
常量列表=[];
const container=document.getElementById(“容器”);
对于(设n=0;n<10;++n){
常数项={
值:`value${n+1}`
};
container.appendChild(addToDOM(entry));
列表。推送(输入);
}
//以后再添加一个
设置超时(()=>{
常数项={
值:“以后添加”
};
container.appendChild(addToDOM(entry));
列表。推送(输入);
}, 800);
document.getElementById(“btnShowAll”).addEventListener(“单击”,函数(){
list.forEach(({value},index)=>{
log(`[${index}).value=${value}`);
});
});

欢迎使用堆栈溢出!请拿着(你得到了一个徽章!),四处看看,仔细阅读,特别是我还推荐乔恩·斯基特的。如果您包括一个演示问题的示例,最好是一个使用堆栈片段(
[]
工具栏按钮;)的可运行的示例,这将对我们有所帮助。