Javascript 将事件附加到SVG路径

Javascript 将事件附加到SVG路径,javascript,jquery,svg,Javascript,Jquery,Svg,我的html中有一个带有标记的SVG映射。我想附加事件,以便单击它们并触发一些事件。我知道我可以使用jQuery在多边形元素上附加单击事件。但是这个地图中的一些区域是使用路径创建的,我想在路径内部而不是路径上单击时触发一些事件 怎么做?首选使用jQuery。如果您filla,则在其内部(在fill上)单击将触发事件处理程序: 演示: $('#saint')。在('click',function(){…})上; 您可以选择显式地使用透明的颜色填充路径,并且仍然会捕获鼠标事件: 演示: 阅读

我的html中有一个带有
标记的SVG映射。我想附加事件,以便单击它们并触发一些事件。我知道我可以使用jQuery在多边形元素上附加单击事件。但是这个地图中的一些区域是使用路径创建的,我想在路径内部而不是路径上单击时触发一些事件


怎么做?首选使用jQuery。

如果您
fill
a
,则在其内部(在fill上)单击将触发事件处理程序:

演示:

$('#saint')。在('click',function(){…})上;
您可以选择显式地使用透明的颜色填充路径,并且仍然会捕获鼠标事件:

演示:


阅读此内容,请提供演示。不幸的是,这不适用于Opera 12.12。。它用黑色填充路径:(事实证明,您可以将“填充不透明度”设置为0,然后就可以了!此解决方案不提供可访问性或键盘导航。如果您将路径包装在锚定标记中,它将是可访问的:在FireFox上,开发人员指出,
fill=“transparent”
正在强制浏览器呈现填充(恰好是透明的),而您只想检测指针事件属性专门为其设计的鼠标。我使用
fill=“none”
路径{pointer events:visibleFill}