电子:按钮和拖放事件不起作用

时间:2019-05-01 14:38:51

标签: javascript html node.js electron

我有一个用Electron开发的应用程序,可以在装有Win7的旧笔记本上完美运行。

现在,我在新的win10笔记本中使用git克隆了代码,安装了node.js并进行了“ npm install”。 当我尝试通过“ npm start”执行该应用时,该应用会打开,但没有任何作用,该按钮以及该应用中存在的拖放区域均无效。

一个奇怪的事情是,当我执行由旧笔记本制成的可执行文件时,所有功能都可以正常运行。但是我现在需要更改代码中的某些内容,因此这不是我的解决方案。

有人可以帮助我吗?也许这是安装问题?我想念什么吗?

预先感谢

2 个答案:

答案 0 :(得分:0)

根据您的问题,我猜测您创建了一个无框架窗口,即您在BrowserWindow的选项中将frame设置为false,如下所示:

const { BrowserWindow } = require('electron')
let win = new BrowserWindow({ width: 800, height: 600, frame: false })
win.show()

如果这样做,则必须设置如下所示的可拖动区域:

.titlebar {
  -webkit-user-select: none;
  -webkit-app-region: drag;
}

现在,要使按钮在可拖动区域内工作,您需要将按钮设置为不可拖动,如下所示:

button {
  -webkit-app-region: no-drag;
}

希望这会有所帮助,如果您遇到任何问题,请告诉我。

答案 1 :(得分:0)

我发现了问题。  当我在新笔记本中克隆代码时,它使用npm下载了Electron版本5.0.0,适用于我的应用的版本是4.1.0。  因此,我在package.json中修复了Electron版本,并且工作正常。