我有一个svg元素,需要在上面捕获mousedown事件。
这是代码。

//code snippet...
<g onMouseDown={this.clickHandler}>
    <circle ...></circle>
    <text> </text>
</g>

单击处理程序的代码就是这样简单。
clickHandler() {
    alert("mouse down")
 }
onMouseUpOnClick运行正常,但onMouseDown不能正常运行

相同的onMouseDown事件在SVG外部正常运行(我在Button上尝试过)

关于错误的任何想法。
React Version: 16.5.2

最佳答案

如果您还实现了拖动功能,则OnMouseDown将得到阻止。

要捕获OnMouseDown,您需要从event.stopPropogation()中删除dragStartEvent
另一个有趣的事情是,如果您不想删除event.stopPropogation(),您仍然可以在OnMouseDown事件中执行打算对dragStartEvent执行的所有操作。

希望这可以帮助...

09-27 22:05