2012-04-09 1 views
1

방금 ​​jVectorMap을 사용하기 시작했습니다. 클릭으로 국가를 선택하고 사용자가 새 국가를 선택할 때까지 선택된 국가를 계속 유지하고 싶습니다. 내가 여기서 뭘 잘못하고 있는지 알아 내지 못하니?jVectorMap onRegionClick에서 색상 변경

$(function() { 
    function showSelectedCountry(event, code) { 
     viewModel.selectedCountry(code); 
     $('#map').vectorMap('set', 'colors', {code: '#f00' }); 
    } 

    $('#map').vectorMap({ 
     hoverColor: '#f00', 
     backgroundColor: '#C8C8C8', 
     onRegionClick: showSelectedCountry 
    }); 
}); 

답변

2

나는 같은 문제로 의심되는 것을 만났다. 나는 너와 같이 색깔을 정하고 있었지만,이 색깔은 묵인하지 않을 것이다. regionMouseOut이 'selected'색상을 다시 원래 값으로 재설정하는 것으로 나타났습니다. 선택한 국가의 regionMouseOut에 대한 기본 동작을 방지하거나 마우스를 놓을 때 색상을 다시 설정하십시오 (나만 사용할 수 있습니다).

// Prevent selected country colour being changed on mouseOut event 
$('#map').bind('regionMouseOut.jvectormap', function(event, code){ 
    if(code == selectedCountry) { 
     var data = {}; 
     data[code] = "#0000ff"; 
     $("#map").vectorMap("set", "colors", data); 
    } 
}); 

'code'가 var 값 대신 문자열로 전달되었습니다. 당신은 약간 원본을 수정할 필요가 없습니다 수 있습니다 (I했던 것처럼) the event is called

onRegionOver: function(e,code){e.preventDefault();} 

그것은 (? 더 이상)이 아니다

$(function() { 
    function showSelectedCountry(event, code) { 
     viewModel.selectedCountry(code); 
     var data = {}; 
     data[code] = "#f00";    
     $('#map').vectorMap('set', 'colors', data); 
    } 

    $('#map').vectorMap({ 
     hoverColor: '#f00', 
     backgroundColor: '#C8C8C8', 
     onRegionClick: showSelectedCountry 
    }); 
}); 
0

비트 늦게, 그러나 그 여전히 검색 regionMouseOut