2013-10-29 27 views
0

我有一組SVG元素鼠標移動目標元素,則返回不需要或不正確的元素

<svg id="container_svg" style="width: 700px; height: 600px;> 
<rect width='600' height='600'> </rect> 
<g> 
<path d="M 285 0 L 285 0 L 318.34499999999997 57.5055 L 251.655 57.5055 z"/> 
</g> 
</svg> 

的並增加了一個mousemove事件中的document.ready到SVG元素作爲

$("#container_svg").mousemove(function(evt){ 
    var child=$(evt.target)[0].nodeName; 
}); 

因此SVG的移動元素,則觸發事件,但在不同的瀏覽器中獲取不同的目標元素,如下所示。 即使在svg中的路徑元素上,我得到$(evt.target)[0] .nodeName爲「rect」在Firefox中, ,但在IE和鉻$(evt.target)[0] .nodeName返回「路徑」 因爲我想...

感謝,

溼婆

+0

當我嘗試這個時,它似乎工作。也許你應該創建一個顯示問題的jsfiddle。 –

回答

-1

跨瀏覽器的解決方案:

$("#container_svg *").mousemove(function(evt){ 
    //var child=$(evt.target)[0].nodeName; 
    evt.stopPropagation(); 
    var child=$(evt.currentTarget)[0].nodeName; 
    }); 

不知道爲什麼你失望,我投預覽回答...

相關問題