gpt4 book ai didi

javascript - Space 并在聚焦的输入上输入 "click"。如何禁用此行为?

转载 作者:行者123 更新时间:2023-11-30 12:51:22 27 4
gpt4 key购买 nike

在 chrome 和 firefox(可能还有其他)中,如果你有一个输入焦点,按下“空格”和“回车”会为你点击它们。我正在制作一个 HTML 5 游戏,我想重写空间和输入对焦点的 react 以及默认行为如何妨碍我。有没有办法在大多数浏览器中关闭此默认行为?

Here's a jsfiddle证明问题。

<button>Button<button>
$("button").on("click", function(event) { alert("Clicked"); });

如果您单击该按钮,它会显示良好的警报。但是如果你在点击它之后按下“空格”或“回车”,它也会发出警报。我想防止这种行为,这样我就可以在不受他们干扰的情况下编写自己的代码。

最佳答案

您可以使用 event.detail 修复此问题.这将返回按钮被点击的次数。如果您按回车键,则返回 0,因为您点击了 0 次,如果您通过鼠标点击它,则返回您点击按钮的次数。

访问event.detail ,您需要访问原始事件对象。这可以通过 event.originalEvent 完成在 jQuery 事件对象中。所以,如果您只是在脚本中放置一个 if 语句:

if (event.originalEvent.detail != 0) {
//your click event code
}

然后它只会在您实际通过鼠标单击按钮时运行。

这比检查按钮是否有 :focus 要准确得多,因为当您单击该按钮时它会自动获得焦点,所以这样做会在单击一次后禁用该按钮。

关于javascript - Space 并在聚焦的输入上输入 "click"。如何禁用此行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20849022/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com