2016-07-26 45 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库,并没有考虑更低层次的解决方案。谢谢! –