gpt4 book ai didi

javascript - 检测输入元素是否在 ReactJS 中聚焦

转载 作者:IT老高 更新时间:2023-10-28 21:55:29 24 4
gpt4 key购买 nike

如何检测如下输入元素当前是否聚焦在 ReactJS 渲染函数中?

<input type="text" style={searchBoxStyle} placeholder="Search"></input>   

最佳答案

您可以检查 document.activeElement 只要输入 Node 已安装并且有对其的引用:

const searchInput = React.useRef(null)

if (document.activeElement === searchInput.current) {
// do something
}

return <input type="text" ref={searchInput} />

另一种方法是在输入字段中为 focusblur 事件添加事件监听器:

const [focused, setFocused] = React.useState(false)
const onFocus = () => setFocused(true)
const onBlur = () => setFocused(false)

return <input type="text" onFocus={onFocus} onBlur={onBlur} />

请注意,每次 Node 聚焦或模糊时,这都会调用重新渲染(但这正是您想要的,对吧?)

关于javascript - 检测输入元素是否在 ReactJS 中聚焦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30619285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com