Aparentemente, mi primera respuesta no estaba funcionando y ahora estoy enfrentando el mismo problema. Aquí hay un nuevo enfoque:
El folleto admite un evento llamado contextmenu
. Como se encuentra en la documentación del evento del folleto aquí .
Se activa cuando el usuario presiona el botón derecho del mouse en el mapa, evita que se muestre el menú contextual predeterminado del navegador si hay oyentes en este evento.
Entonces teóricamente el código
marker.on('contextmenu', function(e) {
this.openPopup();
});
debería funcionar bien. Pero aparentemente la implementación va a la zaga de la documentación. A partir de ahora (Folleto 0.4.5) el contextmenu
evento aparentemente todavía no es compatible con los marcadores, aunque funciona perfectamente bien en objetos de polilínea.
Parece que hay trabajo en proceso para habilitar esta función en el futuro cercano (ver discusiones aquí y aquí ). Entonces, supongo que podemos esperar que Leaflet trabaje en esto rápidamente y permita el evento en el próximo lanzamiento ...
Editar:
ignore lo que dije acerca de esperar la implementación. Si descarga la última rama maestra de desarrollo y crea el folleto usted mismo, obtendrá soporte completo para contextmenu
eventos en marcadores. Feliz codificación