我不能让我的HTML调用我的js

时间:2015-10-28 20:11:15

标签: javascript html function button onclick

任何人都可以帮助我吗?我试图让它在单击按钮时调用click()函数但没有任何反应。这些警报用于测试目的,当我可以将其运行时,js将被导出到外部js。谢谢=)

    <!DOCTYPE html />

<html>
    <head>
        <title>Idle Numbers</title>

        <link rel="stylesheet" type="text/css" href="stylesheet.css" />
    </head>
    <body>
        <h1>Idle Numbers</h1>
        <p>Number Bank: <span id="numberBank">0</span> | Numbers per Second: <span id="NpS">0</span> | Numbers per Click: <span id="NpC">1</span></p>
        <button onclick="click()">Click me</button>
        <table id="shop">
            <tr>
                <th colspan="4">Shop</th>
            </tr>
            <tr>
                <td><p>Ones Place <button onclick="onesPurchase" id="buyOnes">25</button></p></td>
                <td><p>Tens Place <button onclick="tensPurchase" value="100" id="buyTens">100</button></p></td>
                <td><p>Hundreds Place <button onclick="hundredsPurchase"  id="buyHundres">250</button></p></td>
                <td><p>Thousands Place <button onclick="ThousandsPurchase" id="buyThousands">2500</button></p></td>
            </tr>
        </table>
        <script type="text/javascript">
            var nB, NpS, onesValue, tensValue, hundredsValue, thousandsValue;
            var NpC = 1;

            function click(){
                alert("numberBank");
                numberBank = nB + NpC;
                alert("numberBank");
                document.getElementById("numberBank").innerHTML = nB;
            }
        </script>
    </body>
</html>

4 个答案:

答案 0 :(得分:0)

您没有为onesPurchase,tensPurchase等定义的函数,您可以在其中初始化onclick处理程序。如果您尝试将click()函数绑定到onclick处理程序,则只需

<td><p>Ones Place <button onclick="click();" id="buyOnes">25</button></p></td>

请参阅:Using an html button to call a javascript function

如果要更改单击函数的行为方式,您可能需要在创建click()函数时定义某种参数,以确定要计算的购买。

答案 1 :(得分:0)

此问题是由于将您的函数命名为click()。默认情况下,此功能名称分配给按钮以处理鼠标单击事件。最好使用更具描述性的函数名称。

只需更改为calculate()即可:

<强> HTML

<button onClick="calculate()">Click me</button>

<强> JS

 function calculate() {
                alert("numberBank");
                numberBank = nB + NpC;
                alert("numberBank");
                document.getElementById("numberBank").innerHTML = nB;
            }

答案 2 :(得分:0)

.click()是javascript中的内置函数。

您可以通过更改

覆盖正常功能
function click(){

click()=function(){

我不推荐它。最好关注shredMER的答案并更改功能名称。

答案 3 :(得分:0)

button元素已经有一个click()方法,可以模拟按钮元素上的鼠标单击。将调用button元素的click()方法而不是click()方法。正如shreadMER建议的那样,将click()方法重命名为其他方法。例如......

HTML

<button onclick="btn_click()">Click me</button>

JS

function btn_click() {
    alert("numberBank");
    numberBank = nB + NpC;
    alert("numberBank");
    document.getElementById("numberBank").innerHTML = nB;
}