给出了输入。您可以在每个输入中输入一个数字。通过按 Enter 让输入记住输入的数字。使其在输入中失去焦点时,在控制台中显示先前在输入中输入的所有数字的数组。这个问题需要使用地图集合来解决这是我的代码:
let inputs = document.querySelectorAll('input')
let map = new Map;
for(let input of inputs){
let map = new Map;
let i=1
input.addEventListener('keydown',function(event){
if(event.code === 'Enter' || event.code === 'NumpadEnter' ){
map.set(i++,this.value);
this.value = '';
input.addEventListener('blur',()=>{
console.log([...map.values()])
})
}
})
}
如果您希望
Map
索引作为键,那么最好将其从循环中取出,否则您Map
将拥有与输入一样多的元素。此外keydown
,在您的事件处理程序中不断创建新的事件侦听器blur
,它也需要单独取出。如果我理解正确,它应该像这样工作: