@@ -133,7 +133,7 @@ const CModal = defineComponent({
133133 emit ( 'show' )
134134 }
135135 const handleAfterEnter = ( ) => {
136- window . addEventListener ( 'click ' , handleClickOutside )
136+ window . addEventListener ( 'mousedown ' , handleMouseDown )
137137 window . addEventListener ( 'keyup' , handleKeyUp )
138138 }
139139 const handleLeave = ( el : RendererElement , done : ( ) => void ) => {
@@ -144,7 +144,7 @@ const CModal = defineComponent({
144144 el . classList . remove ( 'show' )
145145 }
146146 const handleAfterLeave = ( el : RendererElement ) => {
147- window . removeEventListener ( 'click ' , handleClickOutside )
147+ window . removeEventListener ( 'mousedown ' , handleMouseDown )
148148 window . removeEventListener ( 'keyup' , handleKeyUp )
149149 el . style . display = 'none'
150150 }
@@ -168,7 +168,12 @@ const CModal = defineComponent({
168168 }
169169 }
170170 }
171- const handleClickOutside = ( event : Event ) => {
171+
172+ const handleMouseDown = ( event : Event ) => {
173+ window . addEventListener ( 'mouseup' , ( ) => handleMouseUp ( event ) )
174+ }
175+
176+ const handleMouseUp = ( event : Event ) => {
172177 if ( modalContentRef . value && ! modalContentRef . value . contains ( event . target as HTMLElement ) ) {
173178 if ( props . backdrop !== 'static' ) {
174179 handleDismiss ( )
0 commit comments