mousemove target元素返回不是必需或正确的元素

时间:2013-10-29 07:30:15

标签: javascript jquery svg

我有一套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>

并将documentmove事件添加到document.ready中的svg元素

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

因此移动svg元素,事件被触发但在不同的浏览器中获得不同的目标元素,如下所示。 即使在svg中移动path元素,我在firefox中将$(evt.target)[0] .nodeName作为“rect”获取, 但是在IE和chrome $(evt.target)[0] .nodeName返回“path”,因为我想...

谢谢,

希瓦

1 个答案:

答案 0 :(得分:-1)

跨浏览器解决方案:

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

不知道你为何拒绝投票我的预览答案......