使用 Ctrl+单击JS地图进行选择

Select with Ctrl+Click on JS Map

本文关键字:行选 选择 地图 JS Ctrl+ 单击 使用      更新时间:2023-09-26

我正在根据点击地图来选择一组邮寄地址。我找到了一个现成的解决方案。这是俄罗斯地图,所有区域都已标记。这些区域在MouseOver事件上改变颜色,这很好。现在我需要通过 Ctrl+单击保持选中状态,但我似乎无法弄清楚这一点。这是 http://jsfiddle.net/LxtMY/8/

我试图将MouseOverMouseOut事件更改为脚本最底部的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")

但这没有产生任何结果。也许我编辑的东西是错误的。

每个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作为选择器。

在此处查找另一个示例:

  • http://davidlynch.org/projects/maphilight/docs/demo_features.html

如果你需要评估选定的省份/国家,那么你可以使用jQuery maphilight(如果他们为你提供了这样的方法)或在你的JavaScript代码中添加/删除选定的区域到数组中。