@@ -209,8 +209,8 @@ export function useDraw(
209
209
} ) ) ,
210
210
} )
211
211
212
- window . removeEventListener ( 'keydown ' , onAbortPathDrawing )
213
- window . removeEventListener ( 'keydown ' , onEnterKeyPress )
212
+ window . removeEventListener ( 'keyup ' , onAbortPathDrawing )
213
+ window . removeEventListener ( 'keyup ' , onEnterKeyPress )
214
214
215
215
newPoly ?. fire ( 'select' )
216
216
@@ -220,6 +220,8 @@ export function useDraw(
220
220
function onEnterKeyPress ( this : Window , event : KeyboardEvent ) {
221
221
if ( event . defaultPrevented ) return
222
222
if ( event . key === 'Enter' ) {
223
+ event . preventDefault ( )
224
+
223
225
endPolyDrawing ( event )
224
226
}
225
227
}
@@ -246,8 +248,8 @@ export function useDraw(
246
248
247
249
startPosition = null
248
250
249
- window . removeEventListener ( 'keydown ' , onAbortPathDrawing )
250
- window . removeEventListener ( 'keydown ' , onEnterKeyPress )
251
+ window . removeEventListener ( 'keyup ' , onAbortPathDrawing )
252
+ window . removeEventListener ( 'keyup ' , onEnterKeyPress )
251
253
}
252
254
}
253
255
@@ -310,11 +312,13 @@ export function useDraw(
310
312
handles . length = 0
311
313
circle ?. remove ( )
312
314
circle = undefined
313
- window . addEventListener ( 'keydown ' , rectDelKeyPress , {
315
+ window . addEventListener ( 'keyup ' , rectDelKeyPress , {
314
316
once : true ,
317
+ capture : true ,
315
318
} )
316
- window . addEventListener ( 'keydown ' , rectEscKeyPress , {
319
+ window . addEventListener ( 'keyup ' , rectEscKeyPress , {
317
320
once : true ,
321
+ capture : true ,
318
322
} )
319
323
320
324
circle = svg
@@ -355,8 +359,8 @@ export function useDraw(
355
359
circle = undefined
356
360
document . removeEventListener ( 'dragstart' , preventDrag )
357
361
358
- window . removeEventListener ( 'keydown ' , rectDelKeyPress )
359
- window . removeEventListener ( 'keydown ' , rectEscKeyPress )
362
+ window . removeEventListener ( 'keyup ' , rectDelKeyPress )
363
+ window . removeEventListener ( 'keyup ' , rectEscKeyPress )
360
364
361
365
onChange ( )
362
366
} )
@@ -543,8 +547,14 @@ export function useDraw(
543
547
} )
544
548
poly . stroke ( { color : blue } )
545
549
poly . data ( 'selected' , true )
546
- window . addEventListener ( 'keydown' , polyDelKeyPress , { once : true } )
547
- window . addEventListener ( 'keydown' , polyEscKeyPress , { once : true } )
550
+ window . addEventListener ( 'keyup' , polyDelKeyPress , {
551
+ once : true ,
552
+ capture : true ,
553
+ } )
554
+ window . addEventListener ( 'keyup' , polyEscKeyPress , {
555
+ once : true ,
556
+ capture : true ,
557
+ } )
548
558
549
559
if ( ! disabled ) {
550
560
handles . forEach ( ( h ) => h . remove ( ) )
@@ -591,10 +601,11 @@ export function useDraw(
591
601
. y ( point . y )
592
602
. data ( 'index' , i )
593
603
594
- handle . on ( 'mousedown' , function mousedown ( event ) {
595
- event . preventDefault ( )
596
- event . stopPropagation ( )
597
- } )
604
+ handle
605
+ . on ( 'mousedown' , function mousedown ( event ) {
606
+ event . preventDefault ( )
607
+ event . stopPropagation ( )
608
+ } )
598
609
. css ( 'cursor' , 'grab' )
599
610
600
611
circles . push ( circle )
@@ -672,8 +683,8 @@ export function useDraw(
672
683
circles . length = 0
673
684
document . removeEventListener ( 'dragstart' , preventDrag )
674
685
675
- window . removeEventListener ( 'keydown ' , polyDelKeyPress )
676
- window . removeEventListener ( 'keydown ' , polyEscKeyPress )
686
+ window . removeEventListener ( 'keyup ' , polyDelKeyPress )
687
+ window . removeEventListener ( 'keyup ' , polyEscKeyPress )
677
688
678
689
onChange ( )
679
690
} )
@@ -1101,8 +1112,14 @@ export function useDraw(
1101
1112
1102
1113
tmpPoints = [ drawPoint ( svg , startPosition . x , startPosition . y ) ]
1103
1114
1104
- window . addEventListener ( 'keydown' , onAbortPathDrawing )
1105
- window . addEventListener ( 'keydown' , onEnterKeyPress )
1115
+ window . addEventListener ( 'keyup' , onAbortPathDrawing , {
1116
+ once : true ,
1117
+ capture : true ,
1118
+ } )
1119
+ window . addEventListener ( 'keyup' , onEnterKeyPress , {
1120
+ once : true ,
1121
+ capture : true ,
1122
+ } )
1106
1123
} else if ( startPosition && tmpPoly ) {
1107
1124
const currentPosition = {
1108
1125
x : e . clientX - svgRect . left ,
@@ -1143,8 +1160,8 @@ export function useDraw(
1143
1160
} ) ) ,
1144
1161
} )
1145
1162
1146
- window . removeEventListener ( 'keydown ' , onAbortPathDrawing )
1147
- window . removeEventListener ( 'keydown ' , onEnterKeyPress )
1163
+ window . removeEventListener ( 'keyup ' , onAbortPathDrawing )
1164
+ window . removeEventListener ( 'keyup ' , onEnterKeyPress )
1148
1165
1149
1166
poly ?. data ( 'selected' , true )
1150
1167
poly ?. fire ( 'select' )
0 commit comments