我试图捕获在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 提示。
答案 0 :(得分:1)
将事件更改为evt以产生此信息:
<rect width="120" height="120" data-tile="1" onclick="playerMove(evt)"/>