jvectormap如何在选择区域时保持当前颜色?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jvectormap如何在选择区域时保持当前颜色?相关的知识,希望对你有一定的参考价值。
这是我的问题,我有不同国家的颜色比例。当我选择一个国家,它的颜色变化,我不想。
我只想使用stroke属性(没有fill属性)来显示所选区域。
问题是填充的默认颜色是“黄色”。我尝试将所选区域的fill属性设置为“none”,但在选中时会删除当前颜色。
你们有办法解决这个问题吗?
$('#worldMap').vectorMap({
map: 'world_mill_en',
series: {
regions: [{
scale: ['#C1E712', '#5F7209'],
values: countryHitCounts,
}]
},
regionStyle: {
selected: {
fill: <= is there a keyword to not change the color when selected??
stroke: 'red',
"stroke-width": 1,
},
},
regionsSelectable: true,
selectedRegions: countrySelected,
onRegionSelected: function (event, code, isSelected, selectedRegions) {
//some code...
},
});
编辑:在minify js代码源文件中,我更改了所选区域的默认样式。选中:{fill:“yellow”}选中:{}它可以工作,但如果你有一个更好的解决方案而不更改源文件,我会接受它。
答案
我遇到了同样的问题,似乎对我有用的是用无效的十六进制代码覆盖选定的填充。例如:
regionStyle: {
selected: {
fill: '#Z34FF9'
}
},
这似乎将它注册为覆盖,但实际上并没有应用它,留下我的原始颜色。
另一答案
您只需要阻止点击的默认操作:
,
onRegionClick: function(event, code){
event.preventDefault();
// your "some code" of region selected
}
另一答案
Norrec的答案对我不起作用,但我可以在创建地图之前覆盖类默认值。无需修改源代码!
jvm.Map.defaultParams.regionStyle.selected = {};
map = new jvm.Map({
map: 'world_mill',
container: jQuery('#world-map'),
regionStyle: {
initial: {
fill: "#F6F6F6",
},
selected: {
stroke: '#FF00FF',
"stroke-width": 0.5,
}
},
}
以上是关于jvectormap如何在选择区域时保持当前颜色?的主要内容,如果未能解决你的问题,请参考以下文章
在 html 选择中悬停或选择项目时,如何避免更改背景颜色?
如何在 ToggleButton 中选择时更改 SVG 图标颜色
选择其他按钮时,ListView 突出显示所选项目颜色不会保持不变