我正在根据地图点击选择一组邮寄地址。我找到了一个随时可用的解决方案。这是俄罗斯地图,已经标记了所有地区。区域会更改MouseOver事件的颜色,这很好。现在我需要使用Ctrl + Click保持选中这些区域,我似乎无法弄清楚这一点。这是http://jsfiddle.net/LxtMY/8/
我试图将MoouseOver和MouseOut事件更改为event.CtrlKey,直到脚本为止:
F(Q).trigger("alwaysOn.maphilight").find("area[coords]").bind("mouseover.maphilight",X).bind("mouseout.maphilight",function(Z){L(T)});
U.before(T);
U.addClass("maphilighted")
但是没有产生任何结果。也许我正在编辑一个错误的东西。
答案 0 :(得分:2)
每个area
代码必须具有唯一ID:
<area id="murmansk" ... />
然后添加以下JavaScript代码:
$('area').click(function(e) {
e.preventDefault();
var id = e.currentTarget.id;
var data = $('#' + id).mouseout().data('maphilight') || {};
data.alwaysOn = !data.alwaysOn;
$('#' + id).data('maphilight', data).trigger('alwaysOn.maphilight');
});
如果您的网页上有多个地图,则可以使用样式类而不是area
作为选择器。
在此处找到另一个例子:
如果您需要评估选定的省/国家/地区,那么您可以使用jQuery maphilight(如果他们为您提供此类方法)或在JavaScript代码中向数组中添加/删除所选区域。