我试图计算按下按钮的次数,但我不认为这是正确的,因为即使“说你好”,“计数”按钮也会继续递增。按钮没有被点击
有什么想法吗?
<!DOCTYPE html>
<html>
<head>
<title>JSExample</title>
</head>
<body>
<script type="text/javascript">
function hello() {
alert("Hello there!");
}
var countClicks = 0;
function upCount() {
if(document.getElementById('hello').onclick = "hello()") {
countClicks++;
alert(countClicks);
return true;
} else {
return false;
}
}
</script>
<p><input type="button" name="button" value="Saying Hello" id="hello" onclick="hello();"/></p>
<p><input type="button" name="click" value="Counting" id="click" onclick="upCount();"/></p>
</body>
</html>
答案 0 :(得分:2)
<!DOCTYPE html>
<html>
<head>
<title>JSExample</title>
</head>
<body>
<script type="text/javascript">
function hello() {
alert("Hello there!");
countClicks++;
}
var countClicks = 0;
function upCount() {
alert(countClicks);
}
</script>
<p><input type="button" name="button" value="Saying Hello" id="hello" onclick="hello();"/></p>
<p><input type="button" name="click" value="Counting" id="click" onclick="upCount();"/></p>
</body>
</html>
如果这不是您的意思,请告诉我:)
答案 1 :(得分:2)
条件if(document.getElementById('hello').onclick = "hello()") {
不正确。我不确定它应该做什么,但知道它做了什么:它为hello()
元素的.onclick
回调分配了一个字符串hello
。由于String
无法执行(与Function
相对),因此有效地删除了回调。你可能想要这样的东西
var countClicks = 0;
function hello() {
alert("Hello there!");
countClicks++;
}
function upCount() {
alert(countClicks);
}
<p><input type="button" name="button" value="Saying Hello" id="hello" onclick="hello();"/></p>
<p><input type="button" name="click" value="Counting" id="click" onclick="upCount();"/></p>
答案 2 :(得分:0)
if(document.getElementById('hello').onclick == "hello()")
你错过了一个=