2016-07-26 57 views
0

我試圖用時3的OpenLayers我使用這個代碼移到一個功能,改變光標:,鼠標光標變爲過,即使它們被覆蓋隱藏功能

map.addInteraction(new ol.interaction.Select({ 
    condition : function(event) { 
    return ol.events.condition.pointerMove(event); 
    } 
})); 

我的問題就來了當功能被彈出窗口隱藏時(就像在OL3 examples中創建的那樣)。當您將鼠標移動到該功能所在的位置時,即使該功能被彈出窗口隱藏,它仍會更改光標。

如果功能不可見,是否可以禁用功能選擇?

請參閱example

+0

您可以檢查這個anwsers你的問題? http://stackoverflow.com/questions/33936795/how-to-prevent-feature-clicks-through-popup/33939477#33939477 –

+0

這可以防止點擊,但鼠標懸停時光標仍然發生變化。 –

回答

1

你需要停止mousemove事件冒泡到地圖中,當鼠標放在彈出

document.getElementById("popup").onmousemove = function(e) { 
    e.stopPropagation(); 
}; 

edited fiddle

+0

它的工作原理!我正在查看OL庫,並沒有考慮更低層次的解決方案。謝謝! –