绑定在SVG组元素上的click事件的行为是什么,但是在子元素上触发并在另一个元素上完成?

时间:2014-10-19 02:14:39

标签: javascript svg javascript-events

为了让我的问题变得简单,以下是一个例子:http://jsfiddle.net/542afcfg/1/



document.getElementById('parent').addEventListener('click', function (e) {
    alert('Clicked!');
});

<svg width="200" height="200">
    <g id="parent">
        <g id="child1">
            <circle r="20" cx="40" cy="80"></circle>
        </g>
        <g id="child2">
            <circle r="20" cx="40" cy="40"></circle>
        </g>
    </g>
</svg>
&#13;
&#13;
&#13;

如果您从点击任何给定的子圈开始,然后在另一个子圈上发布,则Chrome会确定触发点击事件是有意义的,而Firefox和Safari则不然。

我觉得因为孩子们被g父元素分组,所以它应该触发click事件。

有人知道规范说的是什么吗?

1 个答案:

答案 0 :(得分:2)

规范很容易找到。 You can read it here.

  

&#34;单击指点设备按钮时发生单击事件   在元素上。单击被定义为mousedown和mouseup over   相同的屏幕位置。&#34;

确认并归档为Chromium中的错误: https://code.google.com/p/chromium/issues/detail?id=424969