diff --git a/src/ui/bind_handlers.js b/src/ui/bind_handlers.js index 1bda2fb3ed4..9ed7c877ab4 100644 --- a/src/ui/bind_handlers.js +++ b/src/ui/bind_handlers.js @@ -178,7 +178,11 @@ export default function bindHandlers(map: Map, options: {interactive: boolean, c contextMenuEvent = e; } - e.preventDefault(); + // prevent browser context menu when necessary; we don't allow it with rotation + // because we can't discern rotation gesture start from contextmenu on Mac + if (map.dragRotate.isEnabled() || map.listens('contextmenu')) { + e.preventDefault(); + } } function onWheel(e: WheelEvent) {