gpt4 book ai didi

javascript - 使用 JavaScript 更改按钮的值

转载 作者:行者123 更新时间:2023-11-30 12:55:32 26 4
gpt4 key购买 nike

每当我点击某个字母时,我希望从头开始的第一个插槽 value 更改为我点击的字母 value。我将 letter.onclick = letterClick(this); 放入 for 循环中是否正确,或者我应该以其他方式实现它。另外,letterClick() 函数应该包含什么?

// Makes slots and letters for the chosen word.
function maker() {
for (i=0; i<word.length; i++) {
var slot = document.createElement("input");
var letter = document.createElement("input");
var letters=(shuffledWord).split("");
slot.type = "submit";
slot.value = "";
slot.id = "slot" + i;
slot.setAttribute('id', 'slot');
letter.type = "submit";
letter.value = letters[i];
letter.id = "letter" + i;
letter.onclick = letterClick(this);
letter.setAttribute('id', 'letter');
document.getElementById("slotbar").appendChild(slot);
document.getElementById("letterbar").appendChild(letter);
}
}

最佳答案

实际上,this 指的是您运行方法 maker 的上下文。所以大多数情况下,您将其作为窗口获取,并且您不想在为 onClick 绑定(bind)处理程序时调用该函数。它应该是一个函数引用。

尝试

 letter.onclick = letterClick.bind(this, letter); 

现在将使用您的第一个参数作为该字母元素调用该函数。

当你这样做的时候

letter.onclick = letterClick(this);

它会立即调用该函数并将其结果设置为处理程序,即如果它不返回另一个作为真正处理程序的函数引用,它就不会工作。

关于javascript - 使用 JavaScript 更改按钮的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19305089/

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