Отключить контекстное меню при щелчке правой кнопкой мыши на открытии MatDialog в googlemaps API - PullRequest
0 голосов
/ 13 февраля 2019

По сути, у меня есть googlemap для моего углового проекта, и, щелкнув правой кнопкой мыши на карте, я открываю MatDialog.Это работает хорошо, но проблема в том, что открывается контекстное меню браузера и MatDialog, что нежелательно.

HTML довольно прост:

<div class="map_container">
  <div #gmap class="map_container"></div>
</div>

В моем компоненте я добавляюслушатель:

this.map.addListener('rightclick', (e) => {
    this.dialog.open([...]);
  }
);

Я хорошо работаю, но, как я уже сказал, открывается контекстное меню браузера.e.preventDefault / e.stopPropagation / return false здесь не доступны, по ... причинам, которые, я думаю, я понял, но у меня будут проблемы с объяснением на английском языке.Короче говоря, событие, добавленное здесь с помощью этого прослушивателя добавления, не передает полный параметр события dom (я думаю).

Я попытался добавить событие (contextmenu) в контейнер карты, чтобы заблокировать контекстное меню.открыть:

<div class="map_container" (contextmenu)='preventContextMenu($event);'>

с помощью связанного метода:

public preventContextMenu($event: Event) {
  $event.preventDefault();
}

, но контекстное меню все равно отображается с моим MatDialog.

Примечание: Работает нормально (без контекстного меню), когда у меня нет контейнера gmaps.Когда у меня есть только один div с событием (contextmenu), открывающим MatDialog и выполняющим $ event.preventDefault (), браузер отвечает правильно.

Я видел ответы здесь и там, где люди заканчивалиотключить контекстное меню для всего приложения, но это не то, чего я хочу достичь.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...