2011-12-26 7 views
10

Estoy usando el complemento de Infobox para la API de Google Maps V3. http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/docs/reference.htmlHaciendo clic derecho en Div (infobox) está deshabilitado. ¿Cómo lo habilito?

Problema: Cuando hago clic con el botón secundario en la div de infobox, no pasa nada. Lo mismo ocurre con cualquier div que sea el elemento secundario de la div infobox principal. Sin embargo, tengo un cuadro de entrada que contiene un texto que quiero poder seleccionar y hago clic con el botón derecho del mouse.

¿Cómo se puede hacer esto si no puedo hacer clic derecho sobre él? Más importante aún, ¿cómo puedo habilitar el clic derecho?

Ejemplo

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


JS CódigoNo funciona

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

Respuesta

1

, añada simplemente "menú contextual: true" para el conjunto de opciones

+4

he editado el post original para mostrar el código con 'contextual: verdadero' eso no habilita el clic derecho – Nyxynyx

+0

No funciona agregando la opción anterior. –

7

Modifiqué el código de infobox.js para que funcione.

cambiado esto:

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

a esto:

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

responsabilidad, esto puede tener otros efectos nocivos No soy consciente de que no he probado a fondo, pero funciona en mi caso.

+1

y luego usó una [versión en línea de uglifyjs] (http://marijnhaverbeke.nl/uglifyjs) para minificar el código. – johntrepreneur

+0

esta solución funciona. Gracias. –

+0

esto también funcionó para mí ... y estoy usando angular-google-maps – goredwards

1

Saqué esto desde la fuente infobox.js:

  • @property mousedown {boolean} enableEventPropagation Propagar, haga clic en, dblclick,
  • y ContextMenu acontecimientos en el cuadro de información (por defecto es falsa para imitar el comportamiento
  • de una google.maps.InfoWindow). Establezca esta propiedad en verdadero si InfoBox
  • se está utilizando como una etiqueta de mapa. Nota de iPhone: esta configuración de propiedad no tiene ningún efecto; los eventos son
  • siempre propagados.

Parece que el establecimiento de su propiedad enableEventPropagation a la verdadera debe hacer el truco!

0

Pruebe este código. Este es un código muy corto y un código muy útil. Y esto es Javascript, no jQuery, así que funcionará para todos los navegadores.

Para deshabilitar el botón derecho

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

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

Para Renable clic derecho

document.oncontextmenu = new Function("return true;");

Cuestiones relacionadas