@@ -86,7 +86,11 @@ type DragControllerConfiguration = {
8686 cancel ?: DragCancelCallback ;
8787} ;
8888
89- const additionalEvents = [ 'pointermove' , 'lostpointercapture' ] as const ;
89+ const additionalEvents = [
90+ 'pointermove' ,
91+ 'lostpointercapture' ,
92+ 'contextmenu' ,
93+ ] as const ;
9094
9195class DragController implements ReactiveController {
9296 private _host : ReactiveControllerHost & LitElement ;
@@ -193,15 +197,13 @@ class DragController implements ReactiveController {
193197 this . _host . addEventListener ( 'dragstart' , this ) ;
194198 this . _host . addEventListener ( 'touchstart' , this , { passive : false } ) ;
195199 this . _host . addEventListener ( 'pointerdown' , this ) ;
196- globalThis . addEventListener ( 'contextmenu' , this . _handleContextMenu ) ;
197200 }
198201
199202 /** @internal */
200203 public hostDisconnected ( ) : void {
201204 this . _host . removeEventListener ( 'dragstart' , this ) ;
202205 this . _host . removeEventListener ( 'touchstart' , this ) ;
203206 this . _host . removeEventListener ( 'pointerdown' , this ) ;
204- globalThis . removeEventListener ( 'contextmenu' , this . _handleContextMenu ) ;
205207 this . _setDragCancelListener ( false ) ;
206208 this . _removeGhost ( ) ;
207209 }
@@ -215,6 +217,8 @@ class DragController implements ReactiveController {
215217 switch ( event . type ) {
216218 case 'touchstart' :
217219 case 'dragstart' :
220+ // Prevent contextmenu default behavior during drag
221+ case 'contextmenu' :
218222 event . preventDefault ( ) ;
219223 break ;
220224 case 'keydown' :
@@ -286,11 +290,6 @@ class DragController implements ReactiveController {
286290 }
287291 }
288292
289- private _handleContextMenu ( event : MouseEvent ) : void {
290- // Prevents the default context menu while dragging
291- event . preventDefault ( ) ;
292- }
293-
294293 // #endregion
295294
296295 private _setDragCancelListener ( enabled = true ) : void {
0 commit comments