Javascript 事件,如果我按下按钮x次

Javascript 事件,如果我按下按钮x次,javascript,html,Javascript,Html,我有这个JS/HTML代码。它应该给你一个输入。当你点击按钮的次数与你在输入中写的次数一样多时,屏幕上应该会显示“停止”,但这并没有发生,idk为什么。我怎样才能解决这个问题 var text2 让计数=1; var=1; 函数检查(){ text2=document.getElementById('questions')。值; 正确=正确+1; 计数=计数+1; 如果(计数===text2){ var score=“停止”; document.getElementById('div')。in

我有这个JS/HTML代码。它应该给你一个输入。当你点击按钮的次数与你在输入中写的次数一样多时,屏幕上应该会显示“停止”,但这并没有发生,idk为什么。我怎样才能解决这个问题

var text2
让计数=1;
var=1;
函数检查(){
text2=document.getElementById('questions')。值;
正确=正确+1;
计数=计数+1;
如果(计数===text2){
var score=“停止”;
document.getElementById('div')。innerHTML=score;
}
}
有多少

好啊
您正在使用
==
进行比较,这将在比较之前检查类型
count
是一个整数,
text2
是一个字符串,因此它将始终返回
false
。相反,首先将
text2
解析为一个整数,然后进行如下比较:


有多少

好啊 变量text2 让计数=0; var=0; 函数检查(){ text2=document.getElementById('questions')。值; 正确=正确+1; 计数++; if(count==parseInt(text2)){ var score=“停止”; document.getElementById('div')。innerHTML=score; } }
像这样重构代码:


有多少

好啊 var计数=0; 函数检查(){ 让用户输入=document.getElementById('questions').value; if(++count===parseInt(用户输入)){ document.getElementById('div').innerHTML=“stop”; } }
这应该可以做到:


有多少

好啊 var text2; 让计数=0 函数onInput(){ var元素=document.getElementById('questions'); //更换车窗 text2=element.value; } 函数检查(){ 计数=计数+1; 控制台日志(计数); if(count==parseInt(text2)){ var score=“停止”; document.getElementById('div')。innerHTML=score; } }
text2
可能是一个字符串。您可以通过将if语句中的
text2
更改为
+text2
(转换为整数)来解决此问题。如果将
===
更改为
==
,也可能会起作用。在check()函数中,输出要比较的变量。它们是否达到预期值?它显示“停止”,单击较早;-)@pavel OP希望它从1开始。正确答案在上面@Nenad。OP:当你点击按钮的次数与你写的次数相同时…-当我写“2”时,“停止”应该在第二次点击后显示(而不是第一次点击后)。@pavel我已经更改了它。谢谢