试图弄清楚为什么if语句仅在用户第二次按下键时才运行。我试图让它从第一个键开始运行。
功能:
const commentFieldHasText = () => {
const commentInput = document.querySelector('.add-comment')
console.log('runs first keypress')
if (commentInput.value) {
console.log('only runs second keypress')
}
}
输入:
<input
className="add-comment"
placeholder="Add a public comment"
onKeyDown={() => commentFieldHasText()}
/>
附加信息: onKeyPress也不提供预期的功能。但是onKeyUp可以。
最佳答案
发生这种情况是因为在键入实际键之前发生了keydown
和keypress
事件。
要解决此问题,请尝试使用 input
或keyup
事件。
关于javascript - 如果语句仅在第二次按下时运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59347684/