2011-05-31 65 views
4

我有一個包含帶有對象標籤的嵌入式SVG的HTML。我在全局文檔中註冊了mousemove的事件偵聽器,但是當在嵌入式SVG文檔內的元素上發生鼠標移動時,不會調用在mousemove的全局文檔上註冊的回調。似乎嵌入是這裏的問題,但無法弄清楚問題可能是什麼,我認爲SVG文檔是全球文檔的一個孩子,全球文檔應該可以獲得所有事件。有人可以幫忙嗎?全局文檔和SVG文檔沒有關係嗎?沒有捕獲嵌入文檔中引發的事件

+0

你需要顯示你的代碼。 – 2011-06-21 13:12:36

+0

這個問題可以通過使用''嵌入的任何SVG來演示:''。這可能是一個Firefox問題,我沒有在IE中試過。 – Armatus 2012-04-05 19:47:49

回答

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對象,並直接附加處理程序。

編輯:道歉挖掘舊帖子,我意識到,有點晚;我希望這仍然可以幫助任何人。

相關問題