我正在尝试捕获在SVG元素上触发的事件(在这种情况下为rect)。但是,无法识别event
,并且出现控制台错误:
ReferenceError:事件未定义。
我在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的提示。
最佳答案
将事件更改为evt以产生此结果:
<rect width="120" height="120" data-tile="1" onclick="playerMove(evt)"/>
关于javascript - SVG中的事件捕获,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38885289/