Javascript 我的addEventListener不是';t链接到我的函数。。。谢谢你的帮助

Javascript 我的addEventListener不是';t链接到我的函数。。。谢谢你的帮助,javascript,onclick,addeventlistener,Javascript,Onclick,Addeventlistener,做一个刽子手游戏。我的addEventListener未与我的函数通信。错误答案计数器仍然上升,所以那里有一点生命 我有一个输入框和按钮,它工作了。但为了改善外观,我为每个字母添加了一个按钮,并尝试了onClick,addeventListener,但无法使其发挥作用 function createLetterKeys(id, text, value) { var letterKey = document.createElement("div"); letterKey.setAt

做一个刽子手游戏。我的addEventListener未与我的函数通信。错误答案计数器仍然上升,所以那里有一点生命

我有一个输入框和按钮,它工作了。但为了改善外观,我为每个字母添加了一个按钮,并尝试了onClick,addeventListener,但无法使其发挥作用

function createLetterKeys(id, text, value) {
    var letterKey = document.createElement("div");
    letterKey.setAttribute("id", id);
    letterKey.innerHTML = text;
    letterKey.setAttribute("class", "keys");
    letterKey.addEventListener("click", playGame);
    lettersDiv.appendChild(letterKey);
}

createLetterKeys("a", "a", "a");

function playGame() {
    var guess = document.querySelectorAll("keys").value;
    var wrong = true;
    if (guessList.includes(guess)) {
        alert("You've already used that letter. Try again...");
    }
    if (guess == letter1) {
        document.getElementById("let1").innerHTML = guess;
        guessedRight.push(letter1);
        counter--;
        wrong = false;
        guessList.push(guess);
    }
    if (guess == letter1) {
        document.getElementById("let1").innerHTML = guess;
        guessedRight.push(letter1);
        counter--;
        wrong = false;
        guessList.push(guess);
    }

上面是一个代码示例(在我的代码中重复)。GUESS变量似乎没有获得任何信息…

我相信您只是忘记了在
键中添加点(使用点按类名选择元素)


var guess=document.querySelectorAll(“.keys”).value

我相信您刚刚忘记在
键中添加点(使用点按类名选择元素)


var guess=document.querySelectorAll(“.keys”).value

document.queryselector all返回一个节点列表,其中包含与选择器匹配的所有元素。但这些实际上都是你的信——不仅仅是点击(猜测)的信。此外,节点列表没有“值”属性。这就是为什么在“guess”变量中没有任何结果

如果我是对的,您实际上需要单击的字母元素。在playGame()函数中使用this.id获取单击元素的id。由于元素的id是字母,因此可以轻松获得猜测的字母:

var guess = this.id;

稍后编辑:我在

文档中为此添加了一个工作JSFIDLE。QuerySelector将返回一个节点列表,其中包含与选择器匹配的所有元素。但这些实际上都是你的信——不仅仅是点击(猜测)的信。此外,节点列表没有“值”属性。这就是为什么在“guess”变量中没有任何结果

如果我是对的,您实际上需要单击的字母元素。在playGame()函数中使用this.id获取单击元素的id。由于元素的id是字母,因此可以轻松获得猜测的字母:

var guess = this.id;

稍后编辑:我在

上为此添加了一个可用的JSFIDLE,非常感谢。它工作得非常出色。这么简单的解决方案,我一辈子都找不到!再次感谢!非常感谢你。它工作得非常出色。这么简单的解决方案,我一辈子都找不到!再次感谢!