为什么我的javascript按钮点击不起作用?

时间:2016-10-15 08:51:14

标签: javascript html css css3

我创建了一个文档,点击CLR按钮应该从clear()文件调用函数calc.js,并设置标记为表格的单元格的innerHTML " DISP"到80085。它没有像我想象的那样工作。为什么不起作用?以下是我的代码。



function clear() {
  var disp = document.getElementById('disp');
  disp.innerHTML = "80085";
}

//function number('s') {
//  
//}
//the number function has yet to be implemented

table {
  border-collapse: collapse;
}

#display {
  background-color: lightgray;
}

button {
  width: 100%;
  background-color: white;
  border: 1px solid #008CBA;
  border-radius: 2px;
  transition-duration: 0.1s;
}

button:hover {
  background-color: #008CBA;
  color: white;
}

button:active {
  background-color: #007ea7;
  border: 1px solid #007ea7;
}

<!DOCTYPE html>
<html>

  <head>
    <script src="calc.js" type="text/javascript"></script>
    <link href="calc.css" rel="stylesheet" type="text/css" />
    <meta charset="utf-8">
    <title>Simple Calculator</title>
  </head>

  <body>
    <table>
      <tr>
        <td colspan="3" id="disp">0</td>
        <td><button onclick="clear();">CLR</button></td>
      </tr>

      <tr>
        <td><button onclick="number("7");">7</button></td>
        <td><button onclick="number("8");">8</button></td>
        <td><button onclick="number("9");">9</button></td>
        <td><button onclick="">/</button></td>
      </tr>

      <tr>
        <td><button onclick="number("4");">4</button></td>
        <td><button onclick="number("5");">5</button></td>
        <td><button onclick="number("6");">6</button></td>
        <td><button onclick="">*</button></td>
      </tr>

      <tr>
        <td><button onclick="number("1");">1</button></td>
        <td><button onclick="number("2");">2</button></td>
        <td><button onclick="number("3");">3</button></td>
        <td><button onclick="">-</button></td>
      </tr>

      <tr>
        <td><button onclick="number("7");">0</button></td>
        <td><button onclick="">.</button></td>
        <td><button onclick="">=</button></td>
        <td><button onclick="">+</button></td>
      </tr>
    </table>
  </body>

</html>
&#13;
&#13;
&#13;

所有和nay hep将不胜感激!

2 个答案:

答案 0 :(得分:1)

<强> Working fiddle

首先,您必须为您的函数使用其他名称,而不是clear,请查看此帖 Is “clear” a reserved word in Javascript?

其次,当您附加onclick()事件时,您应该在所有按钮中准确地修复HTML代码中的引号,因为您会注意到 HERE ,例如:

<td><button onclick="number("7");">7</button></td>
_____________________^______^_^__^

尝试使用单引号:

<td><button onclick="number('7');">7</button></td>
____________________^____________^

希望这有帮助。

答案 1 :(得分:0)

onclick="number("1");"替换为onclick="number('1');",其中1为单引号。同样在number('s')函数的声明中,你将变量放在单引号中,这意味着,每当调用数字函数时,总是考虑值s,所以在这里删除单引号。

相关问题