@@ -131,7 +131,11 @@ function addImageZoomListener (container) {
131131function addImageDragListener ( image ) {
132132 let moved = false
133133 let pos = [ ]
134- image . addEventListener ( 'mousedown' , ( evt ) => {
134+
135+ const container = findOrCreateLightboxContainer ( )
136+ const inner = container . querySelector ( '.lightbox-inner' )
137+
138+ const onMouseDown = ( evt ) => {
135139 moved = true
136140
137141 const { left, top } = image . getBoundingClientRect ( )
@@ -140,27 +144,32 @@ function addImageDragListener (image) {
140144 evt . pageX - left ,
141145 evt . pageY - top
142146 ]
143- } , true )
147+ }
148+ image . addEventListener ( 'mousedown' , onMouseDown )
149+ inner . addEventListener ( 'mousedown' , onMouseDown )
144150
145- image . addEventListener ( 'mousemove' , ( evt ) => {
151+ const onMouseMove = ( evt ) => {
146152 if ( ! moved ) {
147153 return
148154 }
149155
150156 image . style . left = `${ evt . pageX - pos [ 0 ] } px`
151157 image . style . top = `${ evt . pageY - pos [ 1 ] } px`
152158 image . style . position = 'absolute'
153- } , true )
159+ }
160+ image . addEventListener ( 'mousemove' , onMouseMove )
161+ inner . addEventListener ( 'mousemove' , onMouseMove )
154162
155- image . addEventListener ( 'mouseup' , ( ) => {
163+ const onMouseUp = ( ) => {
156164 moved = false
157165 pos = [ ]
158- } , true )
166+ }
167+ image . addEventListener ( 'mouseup' , onMouseUp )
168+ inner . addEventListener ( 'mouseup' , onMouseUp )
159169
160- image . addEventListener ( 'mouseout ' , ( ) => {
161- moved = false
170+ inner . addEventListener ( 'click ' , ( e ) => {
171+ e . stopPropagation ( )
162172 } )
163-
164173 image . addEventListener ( 'click' , ( e ) => {
165174 e . stopPropagation ( )
166175 } )
0 commit comments