2016-12-16 6 views
0

J'ai une jolie intégration de dépliant dans mon site Web, et j'aimerais avoir un long déclencheur mousedown plusieurs fois l'action. J'ai essayé quelques trucs et je ne peux pas l'utiliser avec mes boutons easy personnalisés ou les commandes de zoom Leaflet.Leaflet: Comment activer les clics longs? (J'ai plusieurs fois le déclencheur de souris)

Quelqu'un peut-il m'aider?

Je suppose que le javascript de Leaflet désactive les actions multiples jusqu'à ce que le mouseup arrive. Je voudrais enlever ça.

merci vous

Répondre

1

C'est une tâche facile avec seulement un mousedown et mouseup gestionnaires d'événements, et un appel à setInterval et clearInterval:

function thingToDoWhenTheButtonIsPressed() { 
    console.log('something'); 
} 

var mousedownInterval; 

map.on('mousedown', function() { 
    mousedownInterval = setInterval(thingToDoWhenTheButtonIsPressed, 500); 
}); 

map.on('mouseup', function() { 
    clearInterval(mousedownInterval); 
}); 

Vous pouvez voir un working example here. N'oubliez pas de consulter le Leaflet documentation, ainsi que les numéros documentation about window.setInterval() et about window.clearInterval() de MDN.