Нажатие правой кнопкой мыши на Div (инфобокс) отключено. Как мне это включить - PullRequest
10 голосов
/ 26 декабря 2011

Я использую плагин Infobox для API Карт Google V3.http://google -maps-utility-library-v3.googlecode.com / svn / trunk / infobox / docs / reference.html

Проблема: Когда я щелкаю правой кнопкой мышина информационной панели Div ничего не происходит.То же самое касается любого div, который является потомком родительского div-блока infobox.Тем не менее, у меня есть поле ввода, содержащее текст, который я хочу иметь возможность выбрать и скопировать правой кнопкой мыши.

Как это можно сделать, если я не могу щелкнуть по нему правой кнопкой мыши?Что еще более важно, как я могу включить правый клик?

Пример

http://google -maps-utility-library-v3.googlecode.com / svn /trunk / infobox / examples / infobox-basic.html


JS код не работает

var infoboxOptions = {
    content: boxText,
    disableAutoPan: true,
    maxWidth: 0,
    pixelOffset: new google.maps.Size(0, 0),
    zIndex: null,
    infoBoxClearance: new google.maps.Size(5, 5),
    closeBoxURL: '',
    isHidden: true,
    pane: "floatPane",
    enableEventPropagation: false,
    contextmenu: true
    };

Ответы [ 4 ]

7 голосов
/ 23 апреля 2013

Я изменил код infobox.js, чтобы он заработал.

Изменено это:

    this.contextListener_ = google.maps.event.addDomListener(this.div_, "contextmenu", ignoreHandler);

к этому:

    this.contextListener_ = google.maps.event.addDomListener(this.div_, "contextmenu", cancelHandler);

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: у этого могут быть другие вредные эффекты, о которых я не знаю, поскольку я не проверил это полностью, но это работает в моем случае.

1 голос
/ 27 июня 2013

Я извлек это из источника infobox.js:

  • @ property {boolean} enableEventPropagation Распространение mousedown, click, dblclick,
  • и события contextmenu в InfoBox(по умолчанию false, чтобы имитировать поведение
  • google.maps.InfoWindow).Установите для этого свойства значение true, если InfoBox
  • используется в качестве метки карты.Примечание для iPhone: этот параметр не влияет;события
  • всегда распространяются.

Похоже, что установка свойства enableEventPropagation в true должна помочь!

1 голос
/ 26 декабря 2011

Просто добавьте "contextmenu: true" к набору опций

0 голосов
/ 14 июня 2016

Попробуйте этот код. Это очень короткий код и очень полезный код. И это Javascript, а не jQuery, поэтому он будет работать для всех браузеров.

Чтобы отключить правый клик

function yourFunction() {
  alert("Not allowed");
}

document.oncontextmenu = new Function("yourFunction();return false;");

Для возобновления правой кнопкой мыши

document.oncontextmenu = new Function("return true;");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...