JavaScript - 计算按下按钮的次数(功能)

时间:2015-04-18 12:48:26

标签: javascript html button onclick

我试图计算按下按钮的次数,但我不认为这是正确的,因为即使“说你好”,“计数”按钮也会继续递增。按钮没有被点击

有什么想法吗?

<!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>

3 个答案:

答案 0 :(得分:2)

是的,我并不完全理解你的问题。现在点击'Saying hello'你正在调用一个函数'hello()',它只会弹出一个警告'Hello there'。单击“计数”按钮,您正在检查一个我不完全理解的非常奇怪的情况,然后递增该值。因此,如果您想要计算点击“打招呼”的次数,然后使用“计数”按钮显示,请使用此代码。

<!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()")

你错过了一个=