Javascript 我在按钮上放置的EventListener在第一次单击时不起作用
这段代码唯一的问题是,当我点击playerone按钮或playertwo按钮时,它不会开始增加我的数字。其他一切都正常,只是我必须点击两次,让它开始递增。有没有一种方法可以让它在第一次点击时就这么做Javascript 我在按钮上放置的EventListener在第一次单击时不起作用,javascript,html,event-handling,dom-events,Javascript,Html,Event Handling,Dom Events,这段代码唯一的问题是,当我点击playerone按钮或playertwo按钮时,它不会开始增加我的数字。其他一切都正常,只是我必须点击两次,让它开始递增。有没有一种方法可以让它在第一次点击时就这么做 <!DOCTYPE html> <html> <head> <title>Score Keeper</title> <script type="text/javascript" src="script.js">&
<!DOCTYPE html>
<html>
<head>
<title>Score Keeper</title>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<h1><span id="player1Score">0</span> to <span id="player2Score">0</span></h1>
<p>Playing to: <span id="matchScore">5</span></p>
<div>
<input type="number" name="matchScore">
<button>Player One</button>
<button>Player Two</button>
<button>Reset</button>
</div>
</body>
</html>
这是因为你编程的方式
document.getElementById("player1Score").textContent = player1Score++
具体来说,player1Score++就是其中的一部分。这意味着,在您的案例中,当前值首先用于表达式,直接赋值,然后才递增
++player1Score将为您工作
关于此主题的教程之一:这是因为您对其进行编程的方式
document.getElementById("player1Score").textContent = player1Score++
具体来说,player1Score++就是其中的一部分。这意味着,在您的案例中,当前值首先用于表达式,直接赋值,然后才递增
++player1Score将为您工作
有关此主题的教程之一:以下是您直接递增的答案 window.setTimeoutfunction{ 变量player1Score=0 var player2Score=0 var buttP1=document.querySelectorbutton var buttP2=document.querySelectorAllbutton[1] var buttReset=document.querySelectorAllbutton[2] var inputMatchScore=document.querySelectorinput buttP1.addEventListenerclick,函数{ ifdocument.GetElementByIdLayerScore.textContent
以下是您直接递增的答案 window.setTimeoutfunction{ 变量player1Score=0 var player2Score=0 var buttP1=document.querySelectorbutton var buttP2=document.querySelectorAllbutton[1] var buttReset=document.querySelectorAllbutton[2] var inputMatchScore=document.querySelectorinput buttP1.addEventListenerclick,函数{ ifdocument.GetElementByIdLayerScore.textContent
除了主要问题之外,代码中也没有理由使用setTimeout。将脚本标记移动到主体的末尾,就在标记之前,直接使用计时器函数的主体。甚至在模糊的现代浏览器上,您也可以将defer添加到脚本标记中。而且,没有理由反复向DOM询问相同的信息;相反,var list=document.querySelectorAllbutton您也可以使用getElementsByTagName,然后使用该列表来设置您的var。除了主要问题之外,代码中也没有理由使用setTimeout。将脚本标记移动到主体的末尾,就在标记之前,直接使用计时器函数的主体。甚至在模糊的现代浏览器上,您也可以将defer添加到脚本标记中。而且,没有理由反复向DOM询问相同的信息;相反,var list=document.querySelectorAllbutton您还可以使用getElementsByTagName,然后使用该列表设置您的变量。@T.J.Crowder-Replaced。非常感谢。因为我决定在我的简短回答中不使用后缀和前缀术语,所以需要一个用于此目的的教程。@T.J.Crowder-被替换。非常感谢。因为我决定在我的简短回答中不使用后缀和前缀术语,所以我需要一个教程。