if 语句仅在第二个键按下时运行
if statement only runs on second key down
试图找出为什么此处的 if 语句在用户第二次按下某个键时仅 运行s。我试图从第一个按键开始将其设置为 运行。
函数:
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
事件。
试图找出为什么此处的 if 语句在用户第二次按下某个键时仅 运行s。我试图从第一个按键开始将其设置为 运行。
函数:
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
事件。