Javascript 无法禁用按钮被按下
我正在创建一个玩黑杰克游戏的前端代码。当用户点击“点击我”按钮时,用户会抽一张卡。我试图让它虽然,如果用户提请一张卡,把他们的价值超过21,那么击中我按钮是禁用的。然而,无论出于何种原因,按钮都没有被禁用 Javascript:Javascript 无法禁用按钮被按下,javascript,uibutton,pug,getelementbyid,Javascript,Uibutton,Pug,Getelementbyid,我正在创建一个玩黑杰克游戏的前端代码。当用户点击“点击我”按钮时,用户会抽一张卡。我试图让它虽然,如果用户提请一张卡,把他们的价值超过21,那么击中我按钮是禁用的。然而,无论出于何种原因,按钮都没有被禁用 Javascript: if (sum > 21) { acePresent = checkAces(array); //checks the array of cards for any aces, If so change value of ace from 11 to
if (sum > 21) {
acePresent = checkAces(array); //checks the array of cards for any aces, If so change value of ace from 11 to 1.
if (acePresent) {
sum = sum - 10;
} else {
console.log("No aces and player has busted. Disabling hit me button");
document.getElementById("drawcards").disabled = true;
}
PUG文件:
#endturn.ui.red.button
| Stay
#drawcards.ui.green.button
| Hit Me
如果您想使用JS禁用按钮,可以使用
document.getElementById(“drawcards”).setAttribute('disabled',true)代码>
逻辑的其他部分取决于您,但有一些建议:
您的checkAce是否返回布尔值?
checkAces是否返回正确的值?
checkAces是同步的吗
尝试调试,为什么函数没有到达else语句。我解决了这个问题。问题是我需要将类“disabled”添加到按钮。正确的Javascript代码如下所示:
document.getElementById("drawcards").classList.add("disabled");
如果代码是否达到else语句,请尝试调试。不起作用。我试过了。同样,yes checkAces返回一个布尔值。它本质上是在玩家的牌数组中迭代任何A。如果它找到了一张牌,它会将玩家的分数减去10,并改变要“解决”的牌的值。这样,当重新计算分数时,所有值为“RESOLVED”的卡只会向分数中添加一个。此外,它会到达else语句,因为console.log()语句会被打印出来。听起来很有趣。你的document.getElementById找到你要找的按钮了吗?我刚刚在document.getElementById上找到了console.log(),它会返回这个消息。我认为不管出于什么原因,它在默认情况下是禁用的,我必须启用它以防止推送它