HTML 表单 Enter press 是 keydown 而不是 keyup/keypress,从而启用垃圾邮件

发布于 2025-01-09 13:54:55 字数 744 浏览 0 评论 0原文

当使用

标签时,它具有用于运行提交的回车键的内置行为。 他们决定使用 keydown 来实现,因此会产生垃圾邮件问题。例如,如果我有一个待办事项列表表单,并且我按住 Enter 键,那么它会垃圾邮件创建相同的待办事项。 我希望它是 keyup 或 keypress 而不是 keydown,我仍然希望输入键来提交而不是一起删除它。 使用blur() 也不起作用,因为它一开始就不关注按钮。

<form>
    <label>username
        <input type="text" />
    </label>
    <label>password
        <input type="text" />
    </label>
    <button type="submit">Login</button>
</form>
document.querySelector("form").addEventListener("submit", event => {
    event.preventDefault();
    console.log( "submitted" );
})

When using <form> tags, it has a built-in behavior for enter key, which runs the submit.
They decided to make it using keydown, so it creates spam issues. For example if I had a form for a todo list, and i hold the enter key then it will spam create the same todo-item.
I want it to be keyup or keypress instead of keydown, I would still like enter key to submit rather than getting rid of it all together.
Using blur() also doesnt work since it doesnt focus on the button in the first place.

<form>
    <label>username
        <input type="text" />
    </label>
    <label>password
        <input type="text" />
    </label>
    <button type="submit">Login</button>
</form>
document.querySelector("form").addEventListener("submit", event => {
    event.preventDefault();
    console.log( "submitted" );
})

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文