Для правого клика на Div (инфобокс) отключено. Как включить его

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

Проблема: Когда я нажимаю на div инфобокса, ничего не происходит. То же самое касается любого div, который является дочерним элементом родительского инфобокса div. Однако у меня есть поле ввода, которое содержит текст, который я хочу, чтобы выбрать и скопировать правую копию.

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

Пример

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
    };

Ответ 1

Я модифицировал код infobox.js, чтобы заставить его работать.

Изменено:

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

:

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

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

Ответ 2

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

Ответ 3

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

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

Похоже, что для вашего свойства enableEventPropagation значение true должно делать трюк!

Ответ 4

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

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

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

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