簡體   English   中英

懸停在標記上時不要更改鼠標圖標

[英]don't change mouse icon when hovering over a marker

我有一張帶有許多標記的地圖。 當用戶單擊一個標記時,該標記的信息會顯示在側窗格中。 為了實現這一點,我在標記中添加了“點擊”偵聽器,並或多或少地存儲了標記標識符, 如此 SO answer 中所建議的。

現在,在某些模式下,我不希望標記可點擊(但仍希望它們出現在屏幕上)。 我很容易刪除所有“點擊”偵聽器。 然而,當我用鼠標懸停在它們上面時,圖標確實從“張開的手掌”變成了“尖頭”,讓用戶感到困惑。 經過調查,我發現畫布類通常具有leaflet-zoom-animated類,但是當我將鼠標懸停在標記上時,會添加leaflet-interactive類。 我可以使用例如更改該光標:

.leaflet-interactive {
    cursor: crosshair !important;
}

...但這有兩個問題:

  1. 這不是我可以根據我的應用程序所處的各種用戶交互模式打開和關閉的東西
  2. 它仍然很刺耳,因為光標確實發生了變化,此外,我無法將其更改為 Leaflet 通常使用的打開手掌光標,因為這是一個非默認光標,我不清楚如何訪問它。

如果您可以刪除單擊偵聽器,我想您還可以向標記中添加一個 css 類。 這是一個示例http://jsfiddle.net/Mossart/w9830at1/7/ (查看頂部標記)

var breakside = [45.571601194035345, -122.65673562884331];
var marker1 = L.marker(breakside).addTo(map);
marker1._icon.classList.add("not-clickable");

CSS:

.not-clickable {
  cursor: grab;
}

這適用於畫布渲染器上的L.circleMarker對象:

marker.options.interactive = false;

奇怪的是,它不適用於非畫布渲染器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM