2014-04-14 80 views
0

问题:当我点击一个项目(在我的情况下是一个状态),周界变黑,但是如果我移动光标,它会恢复为灰色。保持点击功能相同,直到第二次点击

问:我如何制作黑色边界直到我再次点击另一个物品或同一个物品?

代码:

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

我想,你可以更改代码以focus而不是click

重点留在元素上,直到你点击其他地方。

所以,如果你使用JavaScript。那么事件改变

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

现在,当元素将获得焦点(鼠标,Tab键焦点等),则该元素会发黑,直到或者除非你点击其他地方的文件(网页)。

+0

对不起,我对此有点新,我怎么会输入你的代码到上面的那个? – user3407952

+0

没问题。你能告诉我,你是如何执行该功能的? –

+0

现在,我有一个鼠标悬停和鼠标悬停功能,只是一个点击功能,控制黑色,但不动摇时留下。我不知道这是否回答你的问题。 – user3407952

相关问题