传单:如何启用长按? (让 mousedown 触发多次按钮)

Leaflet: How to enable long clicks? (have mousedown trigger multiple times the button)

我在我的网站上有一个很好的传单集成,并且希望有一个很长的鼠标按下触发多次操作。 我已经尝试了一些东西,但无法让它在我的自定义 easybuttons 或 Leaflet 缩放控件上工作。

有人能帮忙吗?

我猜 Leaflet 的 javascript 禁用了多项操作,直到 mouseup 发生。我想删除它。

谢谢

这是一项简单的任务,仅涉及 mousedownmouseup 事件处理程序,以及对 setIntervalclearInterval 的调用:

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

var mousedownInterval;

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

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

你可以看到一个working example here.

别忘了咨询 Leaflet documentation, and MDN's documentation about window.setInterval() and about window.clearInterval()