jQuery Maphilight。在突出显示新之前切换alwaysOn
Posted
技术标签:
【中文标题】jQuery Maphilight。在突出显示新之前切换alwaysOn【英文标题】:jQuery Maphilight. Toggle alwaysOn before highlighting new one 【发布时间】:2014-04-18 09:26:50 【问题描述】:将鼠标悬停在新区域或选择新区域时关闭选定区域。
我正在使用 jQuery Maphilight 来突出显示地图上的选定区域。我已经成功添加了一个点击状态,所以当用户点击它时,地图的区域仍然是高亮的。但是当他们点击第二个和第三个区域时,第一个区域仍然突出显示,这是我不想要的。
如何切换此 alwaysOn 属性以关闭所有元素。我似乎无法弄清楚。
谢谢。
.bind('click.maphilight', function(e)
e.preventDefault();
var data = $(this).mouseout().data('maphilight') || ;
data.alwaysOn = !data.alwaysOn;
$(this).data('maphilight', data).trigger('alwaysOn.maphilight');
)
【问题讨论】:
【参考方案1】:最好以供将来参考。
// Turn off all
$("area").data('maphilight', alwaysOn: false ).trigger('alwaysOn.maphilight');
// Turn on one
$("area[data-id=" + id + "]").data('maphilight', alwaysOn: true).trigger('alwaysOn.maphilight');
【讨论】:
【参考方案2】:找到可能对我有用的解决方案:
.bind('click.maphilight', function(e)
$(this).data('maphilight',
alwaysOn: true
).trigger('alwaysOn.maphilight');
//check if area wasnt already selected - otherwise gets buggy
if( !$(this).hasClass('selected') )
$('.selected').data('maphilight',
alwaysOn: false
).trigger('alwaysOn.maphilight');
$('#map-tag area').removeClass('selected');
$(this).addClass('selected');
)
【讨论】:
它有点马车,虽然以上是关于jQuery Maphilight。在突出显示新之前切换alwaysOn的主要内容,如果未能解决你的问题,请参考以下文章
如何单击以使用 jQuery maphilight 更改突出显示颜色