Компонент для модально окна:
<template>
<div class="popup__backdrop" v-if="popup"
@click="closePopup">
<div class="popup" @click.stop>
<CloseIcon class="close-btn" @click="closePopup"/>
<component :is="popup.name"
v-bind="popup.props"
@close="closePopup"
/>
</div>
</div>
</template>
Метод для закрытия окна:
methods:{
closePopup(e){
console.log(e)
this.$store.commit('popups/closePopup');
}
},
Проблема, что если пользователь нажал кнопку мыши в области .popup, удерживая нажатие увёл курсор в область фона .popup__backdrop и отпустил - то клик считается сделанным и срабатывает closePopup().
И наоборот если пользователь нажал в области фона .popup__backdrop и увел курсор в область .popup и отпустил - то клик тоже считается сделанным и срабатывает закрытие модалки.
Как сделать так, чтобы модалка закрывалась
только если клик был полноценный в области .popup__backdrop? т.е. и нажал и отпустил кнопку мыши в области фона.
смотрел в консоли объект e.path[0] - там во всех трех способах клика значение: div.popup__backdrop