Leaflet - 我怎样才能改变抓手光标?

Leaflet - how can I change the grabbing hand cursor?

我可能忽略了如何在地图上更改 LeftletJS 的光标。 http://leafletjs.com/reference.htm

我试过设置 map_div.style.cursor = 'crosshair'; - 这适用于其他元素,但不适用于地图 div。我认为这是因为 Leaflet 以某种方式覆盖了它。

我希望能够使用 Javascript 切换到 "crosshair" 光标(然后返回)。

这可能吗?

更新:我没有jQuery。

您无法覆盖,因为该对象没有支持:

解决方案---创建地图后使用

JQuery

$('.leaflet-container').css('cursor','crosshair');

JavaScript

document.getElementById('map').style.cursor = 'crosshair'
document.getElementById('map').style.cursor = '' //(reset)

你也可以使用这个事件来改变你的鼠标:

map_div.on('mousedown', function (e) {})

另一种方法是 have a look at Leaflet's CSS,查看哪些规则定义了光标形状,然后覆盖那些 CSS 规则。

您只需要覆盖Leaflet 的光标样式即可。以下示例覆盖默认光标:

.leaflet-grab {cursor: auto;}

这会在您拖动地图时更改光标:

.leaflet-dragging .leaflet-grab {cursor: move;}

实时样本:Change default Leaflet cursors