Клуб API Карт

preventDefault(), stopPropagation() - как заблокировать исходное DOM-событие?

B2Cmaps
12 января, 10:59

Здравствуйте!

Добавили свою кнопку на карту. При обработке клика показываем некий div с разметкой на нем. В разметке присутствуют ссылки. При некоторых условиях (определенное смещение) ссылка на показываемом div оказывается точно под нашей кнопкой. И на ней срабатывает уже не click кнопки, а стандартный DOM click, который кнопка, получается, не очистила и пустила дальше по DOM-дереву.
В описании preventDefault(), stopPropagation() объектов Event и DomEvent сказано, что "Вызов этого метода никак не влияет на распространение исходного DOM-события ."
А как в таком случае можно заблокировать исходное DOM-событие?

2 комментария
Подписаться на комментарии к посту
Извините, забыл уточнить - все это происходит на телефонах и планшетах, в т.ч. и в режиме эмуляции в Хроме. Т.е. когда в списке событий присутствуют события touchxxx, которые транслируются в mousexxx, из них в click, press и т.д.
На компьютере с обычной мышью в обычном браузере все нормально.
Всем большое спасибо за ответы!
Решил проблему по такой замысловатой цепочке:
event.sourceEvent.originalEvent.domEvent.originalEvent  - тут попадаем на TouchEvent
Ну и дальше уже preventDefault(), stopPropagation() и т.д.