gpt4 book ai didi

javascript - 在 Electron 中出现 `alert` 后无法编辑输入元素

转载 作者:行者123 更新时间:2023-12-05 00:38:46 57 4
gpt4 key购买 nike

TLDR
我正在学习 Electron 。我有一个 HTML 元素 <input type="text"> ,我可以编辑其中的文字。在我做 alert 之后, 当我点击 input元素它不显示光标,并且在键盘上按下键不会更改元素中的文本。如果我在浏览器中做同样的事情,这不会发生,我不确定我是否做错了什么。
最小的、可重现的例子
设置
在终端的空文件夹中写入:

npm init # And leave the defaults
npm install --save-dev electron
然后创建 index.js :
const {app, BrowserWindow} = require("electron");

app.on('ready', () => {
let b = new BrowserWindow();
b.loadFile("index.html");
});
index.html :
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Test</title>
</head>

<body>
<input type="text">
<button onclick="alert('foo');">Hi</button>
</body>

</html>
重现步骤
  • 在终端上写npx electron .启动应用程序。
  • 编辑 input 中的文本
  • Hi按钮。
  • 关闭对话框。
  • 点击input元素。

  • 该元素没有显示光标,也没有更改以显示我正在编辑它。按下键盘上的键不会更改 input 中的文本.
    多次单击它会选择文本,它可以让我删除它。但是我无法写新的文本。
    Actual behaviour
    预期行为
    打开 index.html在浏览器中,然后重复这些步骤。在浏览器中,元素显示一个光标,我可以编辑其中的文本。
    Expected behaviour

    我不确定我是否做错了什么,或者这是否真的是预期的行为。
    这里是 package.json如果这里的一些信息有帮助:
    {
    "name": "test",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
    },
    "author": "",
    "license": "ISC",
    "devDependencies": {
    "electron": "^17.1.2"
    }
    }

    我在发布后测试它时注意到的一件奇怪的事情是,如果我最小化窗口并再次打开它,我就可以编辑输入。如果我打开和关闭开发人员工具,也会发生这种情况。

    最佳答案

    所以,这是一个非常奇怪的问题。
    在我的系统上复制代码后,一切似乎都正常工作。 IE:警告框关闭,仍然可以将光标聚焦在文本框内,甚至可以毫无问题地编辑文本框。
    由于 Electron 不会以任何方式改变 Chrome 的正常行为并且它在我(和其他人)系统上正常工作,因此只能得出一个结论。 Chrome 有问题。
    要消除 Chrome 文件损坏的任何可能性,请尝试删除您的 node_modules文件夹和您的 package-lock.json文件。
    在此之后,通过运行 npm install 重新安装 Electron在命令提示符下。

    关于javascript - 在 Electron 中出现 `alert` 后无法编辑输入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71534851/

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