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;}
我可能忽略了如何在地图上更改 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;}