Unable to add event auf Google Karte Infobox
Ich bin mit Infobox-mit Google-Map-V3 (Bild). Beim klicken auf die Infobox, ich möchte gehen Sie zu einer Detailseite. Aber ich bin nicht in der Lage, hinzufügen eine click-listener auf die infobox. Hier ist der code, den ich verwende:
Dies ist meine infobox-config:
var ib = new InfoBox({
alignBottom : true,
disableAutoPan: false,
maxWidth: 0,
pixelOffset: new google.maps.Size(-125, -50),
zIndex: null,
closeBoxURL: "",
infoBoxClearance: new google.maps.Size(1, 1),
isHidden: false,
pane: "floatPane",
enableEventPropagation:false
});
Und ich fügte Zuhörer zu dieser infobox so:
google.maps.event.addListener(ib, 'domready', function() {
if(Ext.get(ib.div_)){
Ext.get(ib.div_).on('click', function(){
console.log('test on click')
}, this);
Ext.get(ib.div_).on('mousedown', function(){
console.log('test on click')
}, this);
}
});
Während enableEventPropagation = false
, die Veranstaltung nicht zu propagieren, um die KARTE, aber keinen Fall ist die Arbeit auf die infobox.
Während enableEventPropagation = true
die events (click, mousedown) funktioniert, aber das klicken am anderen Teil der infobox, es dauert mir zu anzeigen oder anderer marker.
Irgendeine Idee, wie man dieses Problem lösen?
- Hast du dein problem lösen ? Wenn ja, dann bitte teilen Sie Ihre Antworten mit uns.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie
domready
Ereignis infobox die eventListener nicht auf google-maps' ein. Nur nach der infobox ist html-ist auf dem Bildschirm, können Sie die bind-Falle. Um zu verhindern, dass multi-event-Bindung, schließen Sie andere infobox, bevor Sie laden eine neue.Können Sie einen listener auf das, was ist der Inhalt deiner InfoBox.
Würden, die für Sie arbeiten ?