HTML電腦鍵盤控制計(jì)算器代碼是一種非常實(shí)用的功能實(shí)現(xiàn),由于用戶的輸入方式可以更加便捷,所以在實(shí)際應(yīng)用中可以大大提升用戶體驗(yàn)。下面我們就來詳細(xì)介紹該計(jì)算器的代碼實(shí)現(xiàn)。
<!DOCTYPE html> <html> <head> <title>計(jì)算器</title> <style> /* 樣式表 */ #output{ width: 100%; height: 30px; margin-top: 10px; } input[type="button"]{ width: 30px; height: 30px; margin-right: 5px; } </style> </head> <body> <form name="calculator"> <input type="text" id="output" name="input" readonly> <br> <input type="button" value="%" onclick="calculator.input.value += '%'"> <input type="button" value="CE" onclick="calculator.input.value = ''"> <input type="button" value="C" onclick="calculator.input.value = ''"> <input type="button" value="/" onclick="calculator.input.value += '/'"> <br> <input type="button" value="7" onclick="calculator.input.value += '7'"> <input type="button" value="8" onclick="calculator.input.value += '8'"> <input type="button" value="9" onclick="calculator.input.value += '9'"> <input type="button" value="*" onclick="calculator.input.value += '*'"> <br> <input type="button" value="4" onclick="calculator.input.value += '4'"> <input type="button" value="5" onclick="calculator.input.value += '5'"> <input type="button" value="6" onclick="calculator.input.value += '6'"> <input type="button" value="-" onclick="calculator.input.value += '-'"> <br> <input type="button" value="1" onclick="calculator.input.value += '1'"> <input type="button" value="2" onclick="calculator.input.value += '2'"> <input type="button" value="3" onclick="calculator.input.value += '3'"> <input type="button" value="+" onclick="calculator.input.value += '+'"> <br> <input type="button" value="0" onclick="calculator.input.value += '0'"> <input type="button" value="." onclick="calculator.input.value += '.'"> <input type="button" value="=" onclick="calculator.input.value = eval(calculator.input.value)"> </form> </body> </html>
上面的代碼中,“%”、“CE”、“C”、“/”、“*”、“-”、“+”、“=”分別代表求余、清空一個字符、清空所有字符、除法、乘法、減法、加法、等于。我們可以通過鼠標(biāo)或鍵盤來操作計(jì)算器,其中部分鍵盤按鍵也可以控制計(jì)算器的按鈕。
實(shí)際上,因?yàn)殒I盤的數(shù)字和運(yùn)算符與計(jì)算器中的按鈕是一一對應(yīng)的,所以我們可以利用鍵盤事件來控制計(jì)算器。具體實(shí)現(xiàn)如下:
<script> // 監(jiān)聽鍵盤事件 document.onkeydown = function (event) { var e = event || window.event || arguments.callee.caller.arguments[0]; // 按下鍵盤數(shù)字0-9,字符"+"、"-"、"*"和"/","."和"Enter"鍵時觸發(fā) if (e && (e.keyCode >= 48 && e.keyCode<= 57 || e.keyCode >= 96 && e.keyCode<= 105 || e.keyCode === 107 || e.keyCode === 109 || e.keyCode === 106 || e.keyCode === 111 || e.keyCode === 190 || e.keyCode === 13)) { var output = document.getElementById("output"); var input = calculator.input; var key = String.fromCharCode(e.keyCode); // 表示數(shù)字、運(yùn)算符、小數(shù)點(diǎn)和Enter鍵 if (/[\d\+\-\*\/\.\n]/.test(key)) { input.value += key; } // 表示Backspace鍵 else if (e.keyCode === 8) { input.value = input.value.slice(0, -1); } // 表示Escape鍵 else if (e.keyCode === 27) { input.value = ""; } } } </script>
上面的代碼中,我們通過監(jiān)聽鍵盤事件,將鍵盤按鍵和計(jì)算器中的按鈕進(jìn)行了一一對應(yīng),按下鍵盤對應(yīng)的按鍵相當(dāng)于在計(jì)算器上按下了對應(yīng)的按鈕,從而實(shí)現(xiàn)了鍵盤控制計(jì)算器的效果。