Javascript if语句仅在第二个向下键上运行
试图找出为什么if语句只在用户第二次按下键时运行。我试着让它从第一个按键开始运行 功能:Javascript if语句仅在第二个向下键上运行,javascript,html,keydown,onkeydown,Javascript,Html,Keydown,Onkeydown,试图找出为什么if语句只在用户第二次按下键时运行。我试着让它从第一个按键开始运行 功能: const commentFieldHasText = () => { const commentInput = document.querySelector('.add-comment') console.log('runs first keypress') if (commentInput.value) { console.log('only runs sec
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()}
/>
commentFieldHasText()}
/>
其他信息:onKeyPress也没有提供预期的功能。不过onKeyUp是这样做的 之所以发生这种情况,是因为
keydown
和keypress
事件发生在实际键入键之前
要解决此问题,请尝试使用或keyup
事件