文档没有捕获嵌入文档中引发的事件

时间:2011-05-31 12:03:58

标签: html html5 event-handling svg

我有一个HTML,其中包含带有对象标记的嵌入式SVG。我在全局文档上注册了mousemove的事件监听器,但是当嵌入式SVG文档内的元素上发生鼠标移动时,不会调用在mousemove的全局文档上注册的回调。似乎嵌入是这里的问题,但无法弄清楚问题是什么,我认为SVG文档是全球文档的子项,全局文档应该得到所有事件。有人可以帮忙吗?全局文档和SVG文档没有关系吗?

1 个答案:

答案 0 :(得分:0)

我尝试了以下内容:

<div style="position:relative; background-color:red; height:300px">
    <object data="http://upload.wikimedia.org/wikipedia/commons/c/c7/SVG.svg" type="image/svg+xml" height="300" width="400" style="position:absolute;z-index:1;" 
        onclick="console.log('clickSVG');" 
        onmousemove="console.log('moveSVG');"
        ></object>
    <div style="height:150px; background-color:blue; z-index:2;"
        onclick="console.log('clickDIV');" 
        onmousemove="console.log('moveDIV');"></div>
</div>

认为在对象上方分层的div可以捕获事件,但事实并非如此。我真的不知道为什么;可能值得尝试完全在JS中创建SVG对象并直接附加处理程序。

编辑:为挖掘旧帖子道歉,我意识到有点晚了;我希望这对任何人都有帮助。