@@ -22,20 +22,56 @@ if (window.localStorage.getItem('calculatorMem')) {
22
22
23
23
function setListeners ( ) {
24
24
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 ) ; } )
26
26
}
27
27
28
28
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 ) ; } )
30
30
31
31
}
32
32
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 ;
34
70
}
35
71
}
36
72
37
73
function handleMemory ( e ) {
38
- let memKey = e . target . innerText ;
74
+ let memKey = e ;
39
75
if ( memKey === 'MR' ) {
40
76
calculatorDisplay . value = memStorage ;
41
77
init = true ;
@@ -54,7 +90,7 @@ function handleMemory(e) {
54
90
}
55
91
56
92
function handleNumbers ( e ) {
57
- let numberInput = e . target . innerText ;
93
+ let numberInput = e ;
58
94
59
95
if ( numberInput === 'C' ) {
60
96
clearCalculator ( ) ;
@@ -78,7 +114,7 @@ function handleNumbers(e) {
78
114
}
79
115
80
116
function handleOperations ( e ) {
81
- let newOperation = e . target . innerText ;
117
+ let newOperation = e ;
82
118
83
119
console . log ( 'equalDirty =' + equalDirty ) ;
84
120
console . log ( 'operationDirty =' + operationDirty ) ;
0 commit comments