If I set Leaflet's map renderer to canvas, click events on items behave like mouseup events.
What this means is that when you follow these steps:
- Click somewhere outside the item
- Hold down click button
- Move cursor to item
- Release click button
This will trigger click event. Again, this only happens when using canvas renderer. Note to perform these steps, you need to disable map dragging.
Here is minimal working example taken from https://esri.github.io/esri-leaflet/examples/:
var map = L.map("map", { renderer: L.canvas() }).setView([37.75, -122.23], 10);
L.esri.basemapLayer("Topographic").addTo(map);
map.dragging.disable();
const circle = L.circle([37.75, -122.23], { radius: 1000 }).addTo(map);
circle.on("click", () => alert("clicked"));
body {
margin: 0;
padding: 0;
}
#map {
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Esri Leaflet Quickstart</title>
<meta
name="viewport"
content="initial-scale=1,maximum-scale=1,user-scalable=no"
/>
<!-- Load Leaflet from CDN -->
<link
rel="stylesheet"
href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css"
integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="
crossorigin=""
/>
<script
src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"
integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="
crossorigin=""
></script>
<!-- Load Esri Leaflet from CDN -->
<script
src="https://unpkg.com/esri-leaflet@3.0.2/dist/esri-leaflet.js"
integrity="sha512-myckXhaJsP7Q7MZva03Tfme/MSF5a6HC2xryjAM4FxPLHGqlh5VALCbywHnzs2uPoF/4G/QVXyYDDSkp5nPfig=="
crossorigin=""
></script>
</head>
<body>
<div id="map"></div>
</body>
</html>