如何通过弹出窗口阻止功能点击?

时间:2015-11-26 10:54:55

标签: javascript openlayers-3

点击矢量图层的要素时,我需要打开一个弹出窗口。我使用Vector Icon Example作为起点。我的问题是,当弹出窗口覆盖某个功能时,您仍然可以单击它(Fiddle-Demo:单击较低点,您可以通过弹出窗口单击上面的一个)。如何防止这种行为?

相关代码:

map.on('click', function(evt) {
    var element = popup.getElement();
    $(element).popover({
    "placement": "top",
    "html": true
}); 
var popover = $(element).data("bs.popover");
var feature = map.forEachFeatureAtPixel(evt.pixel, function(feature, layer) {
    return feature;
});
if (feature) {
    popup.setPosition(feature.getGeometry().getCoordinates());
    popover.options.content = feature.get("name");
    $(element).popover('show');
} else {
    $(element).popover('destroy');
}
});

1 个答案:

答案 0 :(得分:1)

stopEvent: true设置为ol.Overlay对象,如下:

var popup = new ol.Overlay({
  element: element,
  positioning: 'bottom-center',
  stopEvent: true
});

查看您的updated Fiddle demo