我有一个svg元素,需要在上面捕获mousedown
事件。
这是代码。
//code snippet...
<g onMouseDown={this.clickHandler}>
<circle ...></circle>
<text> </text>
</g>
单击处理程序的代码就是这样简单。
clickHandler() {
alert("mouse down")
}
onMouseUp
和OnClick
运行正常,但onMouseDown
不能正常运行相同的
onMouseDown
事件在SVG外部正常运行(我在Button上尝试过)关于错误的任何想法。
React Version: 16.5.2
最佳答案
如果您还实现了拖动功能,则OnMouseDown
将得到阻止。
要捕获OnMouseDown
,您需要从event.stopPropogation()
中删除dragStartEvent
另一个有趣的事情是,如果您不想删除event.stopPropogation()
,您仍然可以在OnMouseDown
事件中执行打算对dragStartEvent
执行的所有操作。
希望这可以帮助...