Но, как я узнал, если я коснусь кнопки закрытия, браузер запускает событие touchend, но сразу же запускает и событие открытия. Я этого не понимаю. У меня есть
e.preventDefault() и e.stopPropagation(). Код выглядит следующим образом.
Открыть кнопку
Код: Выделить всё
// SET UP EVENT LISTENERS FOR OPEN BTN AND CLOSE BTN
// TOUCHSTART IS USED TO AVOID COLLISION BETWEEN OPEN BTN AND CLOSE BTN WHICH LISTEN ON TOUCHEND
['click', 'touchstart'].forEach(function (event) {
if ( self.config_activation_btn ) {
self.html_open_btn.addEventListener(event, function (e) {
__openCustomApp(false, self.config_items[0].source);
}, {'signal': self.open_event_abort_controller.signal});
}
else if ( self.config_activation_touch ) {
document.body.addEventListener(event, function (e) {
__openCustomApp(false, self.config_items[0].source);
}, {'signal': self.open_event_abort_controller.signal});
}
});
Код: Выделить всё
['click', 'touchend'].forEach(function (event) {
self.html_close_btn.addEventListener(event, function (e) {
e.stopPropagation();
e.preventDefault();
__closeCustomApp();
}, {'signal': self.close_event_abort_controller.signal});
});
Подробнее здесь: https://stackoverflow.com/questions/798 ... tart-event
Мобильная версия