Skip to content

Commit 1066faa

Browse files
Completed and Ready For Review
1 parent 545360f commit 1066faa

File tree

1 file changed

+42
-6
lines changed

1 file changed

+42
-6
lines changed

index.js

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,56 @@ if (window.localStorage.getItem('calculatorMem')) {
2222

2323
function setListeners() {
2424
for (i = 0; i < memoryButtons.length; i++) {
25-
memoryButtons[i].addEventListener('click', function(e) { handleMemory(e); })
25+
memoryButtons[i].addEventListener('click', function(e) { handleMemory(e.target.innerText); })
2626
}
2727

2828
for (i = 0; i < numberButtons.length; i++) {
29-
numberButtons[i].addEventListener('click', function(e) { handleNumbers(e); })
29+
numberButtons[i].addEventListener('click', function(e) { handleNumbers(e.target.innerText); })
3030

3131
}
3232
for (i = 0; i < operationButtons.length; i++) {
33-
operationButtons[i].addEventListener('click', function(e) { handleOperations(e); })
33+
operationButtons[i].addEventListener('click', function(e) { handleOperations(e.target.innerText); })
34+
}
35+
document.addEventListener('keydown', function(e) { keyHandler(e.key) });
36+
}
37+
38+
function keyHandler(e) {
39+
console.log(e);
40+
switch (e) {
41+
case '.':
42+
case '0':
43+
case '1':
44+
case '2':
45+
case '3':
46+
case '4':
47+
case '5':
48+
case '6':
49+
case '7':
50+
case '8':
51+
case '9':
52+
handleNumbers(e);
53+
break;
54+
case 'c':
55+
case 'C':
56+
handleNumbers('C');
57+
break;
58+
case '+':
59+
case '-':
60+
case '*':
61+
case '/':
62+
handleOperations(e);
63+
break;
64+
case 'Enter':
65+
case '=':
66+
handleOperations('=');
67+
break;
68+
default:
69+
break;
3470
}
3571
}
3672

3773
function handleMemory(e) {
38-
let memKey = e.target.innerText;
74+
let memKey = e;
3975
if (memKey === 'MR') {
4076
calculatorDisplay.value = memStorage;
4177
init = true;
@@ -54,7 +90,7 @@ function handleMemory(e) {
5490
}
5591

5692
function handleNumbers(e) {
57-
let numberInput = e.target.innerText;
93+
let numberInput = e;
5894

5995
if (numberInput === 'C') {
6096
clearCalculator();
@@ -78,7 +114,7 @@ function handleNumbers(e) {
78114
}
79115

80116
function handleOperations(e) {
81-
let newOperation = e.target.innerText;
117+
let newOperation = e;
82118

83119
console.log('equalDirty =' + equalDirty);
84120
console.log('operationDirty =' + operationDirty);

0 commit comments

Comments
 (0)