我有一个 SVG(目标)元素,其中包含几个 SVG(死者)元素,这个容器 SVG 位于页面中的 SVG(根)深处。我看到的问题是,如果我在 SVG(目标)上注册了一个事件,则只有在单击 SVG(死者)之一时才会触发该事件,就好像 SVG(目标)没有边界框一样。除了用 100% x 100% 的透明矩形填充 SVG(目标)之外,我还有哪些选择?
问问题
521 次
1 回答
0
为什么不使用某种不同的方法分配事件。将属性分配给元素。例如:-
让我们说下面是你的svg: -
<svg ... >
<g id='container' data-action='selection'>
<g id='child1' data-action='selection'>
</g>
<g id='child2' data-action='selection'>
</g>
</g>
</svg>
现在在代码中,在文档上绑定事件。
document.addEventListener('mousedown',useraction,false);
function useraction(event){
if(event.target.hasAttribute('data-action')){
var action=event.target.getAttribute('data-action');
if(action==='selection'){
//call your selection function to perform action.
}
}
}
于 2013-07-12T23:08:11.810 回答