gpt4 book ai didi

javascript - 鼠标悬停时的传单弹出窗口删除了点击事件

转载 作者:搜寻专家 更新时间:2023-11-01 04:32:50 25 4
gpt4 key购买 nike

我使用 geoJSON 在我的 map 上绘制了一些点。单击某个点时, map 会缩放到该点并在另一个 div 中拉出一些信息。当我在鼠标悬停事件上放置一个弹出窗口时,我的点击功能不再有效。

这是我的点击函数:

function fillInfo(e) {
var layer = e.target;

document.getElementById('infoBox').innerHTML = '<h2>' + layer.feature.properties.name + '</h2>' + '<h3>' + layer.feature.properties.address + '</h3></p>'
}
//Variable to set zoom level on click
var southLat = layer.feature.geometry.coordinates[0] + .022438;
var southLong = layer.feature.geometry.coordinates[1] - .003235;

var northLat = layer.feature.geometry.coordinates[0] - .022438;
var northLong = layer.feature.geometry.coordinates[1] + .003235;

map.fitBounds([[southLong, southLat], [northLong, northLat]]);


}​

这是我的鼠标悬停功能:

        function highlightFeature(e) {
var layer = e.target;

layer.bindPopup(layer.feature.properties.name)
.openPopup();


layer.setStyle({
weight: 5,
color: '#666',
dashArray: '',
fillOpacity: 0.7
});



if (!L.Browser.ie && !L.Browser.opera) {
layer.bringToFront();
}

}

在这里我称他们为:

    function onEachFeature(feature, layer) {
layer.on({
click: fillInfo,
mouseover: highlightFeature,
mouseout: resetHighlight
});
}

这使弹出窗口在鼠标悬停时工作正常,但该点不再响应点击事件。

最佳答案

popup有一个offset-property,默认设置为[0,6],因此popup会覆盖点(包含白色向下箭头的节点比箭头),您将无法点击该点。

设置弹出窗口的偏移选项:

layer.bindPopup(layer.feature.properties.name,{offset:new L.Point(0,0)})
.openPopup();

提供给 L.Point 的第二个参数是重要的 y 坐标,减小此参数以向上移动弹出窗口。

关于javascript - 鼠标悬停时的传单弹出窗口删除了点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14141988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com