繁体   English   中英

确定React`onFocus`事件是否由鼠标,键盘,程序化触发?

[英]Determine whether React `onFocus` event was triggered by Mouse, Keyboard, Programmatic?

因为React只是说event.typefocus所以我不确定该怎么做才能确定这一点。

仅当焦点不是由鼠标启动时,我才需要运行一些代码。

谢谢你的提示

我认为,您应该使用鸭子类型,例如,只有MouseEvents具有pageX,pageY属性,因此

if (e.pageX || pageY) -> MouseEvent 

键盘事件具有语言环境,位置

if (e.locale || location) -> KeyboardEvent 

您可以在官方文档中找到所有差异: https : //reactjs.org/docs/events.html#supported-events

使用其他仅适用于键盘的事件。 查看其他文章: 区分键盘/鼠标触发的焦点事件

对于React,您想使用onKeyDown或onKeyPress。 您可以在此处查看这些事件: https : //reactjs.org/docs/events.html#keyboard-events

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM