我做了一个按钮:
<input type="button" value="a" onclick="searchLetter(this)"></input>
单击时,它应该调用一个函数来检查该字母是否在 word
中,如果是,则将其添加到 spaces
数组中对应地点:
function searchLetter(obj)
{
var letter = obj.value;
obj.disable;
for (i = 0; i <= word.length; i++){
if (word[i] == letter) {
wordSpaces[i] = letter;
document.getElementById('spaces').innerHTML = wordSpaces.join('');
break;
}
}
}
但是,该按钮没有调用它,我不确定为什么。
最佳答案
function pickWord() {
var word = dictionary[Math.floor(Math.random() * dictionary.length)];
var wordSpaces = [];
for (var i = word.length - 1; i >= 0; i--)
wordSpaces.push("_ ");
document.getElementById('spaces').innerHTML = wordSpaces.join('');
}
在您的代码中,word
和 wordSpaces
是该函数的局部变量。
但是在
function searchLetter(obj) {
var letter = obj.value;
for (var i = 0; i <= word.length; i++) {
您正在尝试引用word
变量。这就是为什么它没有进入循环
所以它一定是这样的:
var word, wordSpaces;
function pickWord() {
word = dictionary[Math.floor(Math.random() * dictionary.length)];
wordSpaces = [];
for (var i = word.length - 1; i >= 0; i--)
wordSpaces.push("_ ");
document.getElementById('spaces').innerHTML = wordSpaces.join('');
}
function searchLetter(obj) {
var letter = obj.value;
for (var i = 0; i <= word.length; i++) {
if (word[i] == letter) {
wordSpaces[i] = letter;
document.getElementById('spaces').innerHTML = wordSpaces.join('');
break;
}
}
}
关于JavaScript + HTML : Button Not Calling on Function Onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29812388/