SVG中的事件捕获

时间:2016-08-10 23:52:11

标签: javascript events svg javascript-events

我试图捕获在SVG元素上触发的事件(在本例中为rect)。但是,event无法识别&我收到控制台错误:ReferenceError: event is not defined

我在HTML元素&上调用了相同的函数。它工作得很好。是否有任何理由说明以下内容对SVG元素无效?

以下是代码:

<g class="piece filled" transform="translate(120, 0)">
  <!-- the following 'event' within 'playerMove' gives error -->
  <rect width="120" height="120" data-tile="1" onclick="playerMove(event)"/>
</g>

使用Javascript:

const playerMove = function( e ){ 
    console.log( e );
    let eTarget = e.target;
}    

修改: 根据评论,它似乎是一个Firefox问题,有什么解决方法吗?它似乎在Chrome中运行。感谢 jessh 提示。

1 个答案:

答案 0 :(得分:1)

将事件更改为evt以产生此信息:

<rect width="120" height="120" data-tile="1" onclick="playerMove(evt)"/>