问题:当我点击一个项目(在我的情况下是一个状态)时,周边变黑,但是如果我将光标移开,它将恢复为灰色。
问题:我如何制作黑色边框,直到我再次点击另一个项目或同一个项目?
代码:
function clickFeature(e) {
var layer = e.target;
info.update(layer.feature.properties);
layer.setStyle({
color: '#000',
});
}
var geojson;
function resetHighlight(e) {
geojson.resetStyle(e.target);
}
function zoomToFeature(e) {
map.fitBounds(e.target.getBounds());
}
function onEachFeature(feature, layer) {
layer.on({
mouseover: highlightFeature,
mouseout: resetHighlight,
click: clickFeature,
});
}
geojson = L.geoJson(statesData, {
style: style,
onEachFeature: onEachFeature
}).addTo(map);
答案 0 :(得分:0)
我认为,您可以将代码更改为focus
而不是click
。
焦点停留在元素上,直到您单击其他位置。
所以,如果你使用的是JavaScript。然后将事件更改为
<element onfocus="clickFeature()"></element>
现在,当元素获得焦点(单击,制表焦点等)时,元素将为黑色,直到或除非您单击文档(页面)上的其他位置。