[英]Is there a better way than this approach, to implement an "on enter key press, login"?
目前,用户必须手动点击表单中的“登录”按钮,才能触发“onSubmit”。
我试过在输入时实现一种 hacky 方法,但我想知道是否有更好的方法来做到这一点?
useEffect(() => {
const emailField = document.getElementById('username');
const passwordField = document.getElementById('password');
emailField.addEventListener('keyup', e => {
const { keyCode } = e;
if (keyCode === 13) {
e.preventDefault();
document.getElementById('login').click();
}
});
passwordField.addEventListener('keyup', e => {
const { keyCode } = e;
if (keyCode === 13) {
e.preventDefault();
document.getElementById('login').click();
}
});
}, []);
看到您在 useEffect() 中作为参数传递的空白数组后,您似乎只想在页面加载时提交一次。 所以,我会建议你去 -
function submit() {
//do submission here
}
function init(){
document.getElementById('form').onsubmit = submit;
}
window.onload = init;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.