繁体   English   中英

我如何使这个 HTML 风格的计算器只能使用 JS 工作

[英]How do i make this HTML styled calculator work only using JS

我已经被这个任务困了很长时间了。

基本上我有这个重写的 HTML 代码

<input type="text" id="num1" value="" placeholder="input whole number" />
<input type="text" id="num2" value="" placeholder="input whole number" />

<br> <br>
Click on a operator:
<br>

<input type="button" id="add" class="operator" value="+" />
<input type="button" id="subtract" class="operator" value="-" />
<input type="button" id="multiply" class="operator" value="*" />
<input type="button" id="divide" class="operator" value="/" />

<p class="semig">Result is: <span id="resultat">???</span></p>

我只允许使用 JS 使计算器工作,而不能编辑 HTML。

通常我会在 JS 中编写 function 但在 HTML 代码中调用 function。

谁能帮我这个?

考虑一个通用事件处理程序:

function buttonClick(event) {
  alert("You clicked " + event.target.id);
}

这些按钮具有 ID,因此您可以将事件侦听器附加到它们。

document.getElementById("add").addEventListener("click", buttonClick, false);
// etc... for the other buttons

更好的是,它们有类,因此您可以查找它们并附加事件侦听器:

Array.from(document.querySelectorAll("button.operator")).forEach(btn => {
  btn.addEventListener("click", buttonClick, false);
});

一个更高级的选项是在例如document.body上添加点击处理程序并使用事件传播/冒泡来查看实际点击的元素。

您可以尝试使用此代码:

 var addButton = document.getElementById("add"); addButton.onclick = function() { calculate("+"); } var subtractButton = document.getElementById("subtract"); subtractButton.onclick = function() { calculate("-"); } var multiplyButton = document.getElementById("multiply"); multiplyButton.onclick = function() { calculate("*"); } var divideButton = document.getElementById("divide"); divideButton.onclick = function() { calculate("/"); } function calculate(operation) { var num1 = document.getElementById("num1").value; var num2 = document.getElementById("num2").value; try { eval("var result = " + num1.toString() + operation + num2.toString()); document.getElementById("resultat").innerHTML = result; } catch { alert("You must enter numbers in theses fills"); } }
 <html> <body> <input type="text" id="num1" value="" placeholder="input whole number" /> <input type="text" id="num2" value="" placeholder="input whole number" /> <br> <br> Click on a operator: <br> <input type="button" id="add" class="operator" value="+" /> <input type="button" id="subtract" class="operator" value="-" /> <input type="button" id="multiply" class="operator" value="*" /> <input type="button" id="divide" class="operator" value="/" /> <p class="semig">Result is: <span id="resultat">???</span></p> </body> </html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM