electron [Bug]:在alert()或confirm()之后,带有autofocus的输入元素既不会聚焦,也不会可编辑,

z9zf31ra  于 4个月前  发布在  Electron
关注(0)|答案(2)|浏览(60)

预检清单

Electron 版本

26.2.1

您正在使用的操作系统是什么?

Windows

您正在使用的操作系统版本是什么?

Windows 11 Pro 22H2 22621.2428

您正在使用的架构是什么?

x64

最后已知正常工作的 Electron 版本

  • 无响应*

预期行为

假设我有一个带有自动聚焦输入框的对话框元素:

<dialog>
  <label>
    This should be auto-focused and editable:
    <input autofocus />
  </label>
</dialog>

现在假设我想显示该对话框:

document.querySelector('dialog').showModal();

输入框将如预期般自动聚焦,一切正常。

实际行为

然而,现在假设我想在显示一个标准的 alert()confirm() 之后显示该对话框:

alert('This alert will block the focusable element.');
document.querySelector('dialog').showModal();

输入框不再聚焦,不再可编辑,似乎完全卡住了,直到我将焦点转移到另一个窗口,然后回到 Electron 应用程序。

测试用例 Gist URL

https://sfo2.digitaloceanspaces.com/festive-sky/alert-focus-test.html

其他信息

这种事情在 Google Chrome 中运行正常。它似乎是针对 Electron 的一个特定问题。

m1m5dgzv

m1m5dgzv1#

看起来这种情况至少从Electron v8.x开始就出现了。我可以试着看一下。

v1uwarro

v1uwarro2#

我已经遇到了这个问题。
我花了太长时间一遍又一遍地检查我的代码,痴迷于可能是什么原因导致了这个问题,直到我最终决定这不可能是我造成的。
请尽快调查这个问题。
Win11也是如此。

相关问题