Я использую Google Maps API в своем приложении реакции.Я добавил пользовательское контекстное меню на картах в обработчике правой кнопки мыши.Он работает абсолютно нормально во всех браузерах на Mac.Отлично работает в IE и Edge в Windows, за исключением Google Chrome и Mozilla Firefox (в ОС Windows), где кроме отображения пользовательского меню также отображается фактическое контекстное меню браузера.
Вот jsfiddle который содержит пример кода, который ведет себя аналогично тому, как работает мой код.
Пожалуйста, проверьте приведенную выше скрипку в Windows в разных браузерах, и при щелчке правой кнопкой мыши на картах вы увидите, что в Chrome и Firefox появляется два менюи на Edge только пользовательский (который является ожидаемым поведением, и это также хорошо работает на Mac).
var ContextMenu = document.getElementById("my-context-menu");
google.maps.event.addListener(map, 'rightclick', function (ev) {
ShowContextMenuGoolge(ContextMenu, ev);
/** this stop NOT stopping DOM 'context-menu' event from firing */
ev.stop();
});
google.maps.event.addListener(map, 'click', function () {
HideContextMenuGoolge(ContextMenu);
});
}
Ожидаемое поведение (Снимок экрана из Chrome в Mac):
Что на самом деле происходит (Снимок экрана из Chrome в Windows):