保持Click功能相同,直到第二次单击

时间:2014-04-14 16:33:45

标签: javascript jquery

问题:当我点击一个项目(在我的情况下是一个状态)时,周边变黑,但是如果我将光标移开,它将恢复为灰色。

问题:我如何制作黑色边框,直到我再次点击另一个项目或同一个项目?

代码:

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);

1 个答案:

答案 0 :(得分:0)

我认为,您可以将代码更改为focus而不是click

焦点停留在元素上,直到您单击其他位置。

所以,如果你使用的是JavaScript。然后将事件更改为

<element onfocus="clickFeature()"></element>

现在,当元素获得焦点(单击,制表焦点等)时,元素将为黑色,直到或除非您单击文档(页面)上的其他位置。