2014-04-14 136 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

相關問題