gpt4 book ai didi

javascript - 如何忽略重复使用键码?

转载 作者:行者123 更新时间:2023-12-03 08:39:05 25 4
gpt4 key购买 nike

如果用户输入了一个字母,我希望在代码中发生以下情况:该字母不得重复。

就我而言,我使用键码和 if-else 语句。有没有办法让每个字母只按一次键一次

<!DOCTYPE html>
<html>

<head>
<style>
#Ans_container {
margin-left: 37%;
margin-bottom: 350px;
width: 400px;
height: 80px;
background-color: yellow;
font-size: 50px;
}
</style>
</head>

<body onload="del();">
<div id="Ans_container"></div>
<script>
function typing(x) {

if (x.keyCode == 65) {
document.getElementById("Ans_container").innerHTML += "A";
}
if (x.keyCode == 66) {
document.getElementById("Ans_container").innerHTML += "B";
}
if (x.keyCode == 67) {
document.getElementById("Ans_container").innerHTML += "C";
}
if (x.keyCode == 68) {
document.getElementById("Ans_container").innerHTML += "D";
}
if (x.keyCode == 69) {
document.getElementById("Ans_container").innerHTML += "E";
}
if (x.keyCode == 70) {
document.getElementById("Ans_container").innerHTML += "F";
}
if (x.keyCode == 71) {
document.getElementById("Ans_container").innerHTML += "G";
}
if (x.keyCode == 72) {
document.getElementById("Ans_container").innerHTML += "H";
}
if (x.keyCode == 73) {
document.getElementById("Ans_container").innerHTML += "I";
}
if (x.keyCode == 74) {
document.getElementById("Ans_container").innerHTML += "J";
}
if (x.keyCode == 75) {
document.getElementById("Ans_container").innerHTML += "K";
}
if (x.keyCode == 76) {
document.getElementById("Ans_container").innerHTML += "L";
}
if (x.keyCode == 77) {
document.getElementById("Ans_container").innerHTML += "M";
}
if (x.keyCode == 78) {
document.getElementById("Ans_container").innerHTML += "N";
}
if (x.keyCode == 79) {
document.getElementById("Ans_container").innerHTML += "O";
}
if (x.keyCode == 80) {
document.getElementById("Ans_container").innerHTML += "P";
}
if (x.keyCode == 81) {
document.getElementById("Ans_container").innerHTML += "Q";
}
if (x.keyCode == 82) {
document.getElementById("Ans_container").innerHTML += "R";
}
if (x.keyCode == 83) {
document.getElementById("Ans_container").innerHTML += "S";
}
if (x.keyCode == 84) {
document.getElementById("Ans_container").innerHTML += "T";
}
if (x.keyCode == 85) {
document.getElementById("Ans_container").innerHTML += "U";
}
if (x.keyCode == 86) {
document.getElementById("Ans_container").innerHTML += "V";
}
if (x.keyCode == 87) {
document.getElementById("Ans_container").innerHTML += "W";
}
if (x.keyCode == 88) {
document.getElementById("Ans_container").innerHTML += "X";
}
if (x.keyCode == 89) {
document.getElementById("Ans_container").innerHTML += "Y";
}
if (x.keyCode == 90) {
document.getElementById("Ans_container").innerHTML += "Z";
}
}
document.onkeydown = typing;
</script>

</body>

</html>

最佳答案

您可以保留已“见过”的字符列表。当新 Angular 色到达时,检查它是否已经在列表中。如果没有,请忽略它。

您还可以使用 String.fromCharCode() 来节省大量打字时间。而不是 26 个 if 语句。

var seen = {};

function typing(x) {
if ((x.keyCode >= 65) && (x.keyCode <= 90)) {
var st = String.fromCharCode(x.keyCode);

if (!seen[st]) {
document.getElementById('Ans_container').innerHTML += st;
seen[st] = true;
}
}
}

document.onkeydown = typing;
#Ans_container {
margin-left: 37%;
margin-bottom: 350px;
width: 400px;
height: 80px;
background-color: yellow;
font-size: 50px;
}
<div id="Ans_container"></div>

关于javascript - 如何忽略重复使用键码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33107946/

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