Ich hab den folgenden code:
let genCmd = ["1 37", "1", "0.01", "0 0", "0 0", "0 0", "0 0"];
document.querySelectorAll(".stickerFloats").forEach(e => {
e.addEventListener("keyup", e => {
let val = genCmd[3 + parseInt(e.target.classList[1].replace("s", ""))].split(" ")[0];
let aVal = e.target.value.replace(",", ".");
let updateCmd = genCmd;
if (aVal.length <= 4 && aVal !== "" && /\d/.test(aVal) && /^(0(\.\d+)?|1(\.0+)?)$/.test(aVal)) {
genCmd[3 + parseInt(e.target.classList[1].replace("s", ""))] = `${val} ${aVal}`
} else {
genCmd[3 + parseInt(e.target.classList[1].replace("s", ""))] = `${val} 0`
}
document.querySelector("#code").querySelector("p").innerText = `!gen ${updateCmd.toString().replaceAll(",", " ")}`;
})
})
Dieser Code hat das Array (genCmd) und greift darauf zu. Dazu gibt es vier inputs mit der Klasse .stickerFloats die alle die Werte an verschiedenen Stellen im Array ändern sollen. Das funktioniert auch außer man wechselt zu schnell zwischen diesen Inputs; dann wird nur ein Teil der Werte geupdated und die Inputs von denen zu schnell wieder weg gewechselt wurde werden ignoriert - wieso?