[英]Electron.js: addEventListener() doesn't work and I'm not getting any error
我正在尝试制作Electron
应用程序。 我试图在一个按钮上添加一个事件侦听器以在renderer
进程中单击,但是当我单击该按钮时没有任何反应。 我没有收到任何错误。
html
<script src="event.js"></script>
<header>
<button type="button" class="quit-button">Quit</button>
</header>
js
const {remote} = require('electron');
button = document.getElementById('quit-button');
button.addEventListener('click', () => {
console.log('quit');
remote.app.quit();
});
如果你只有一个按钮,那么:
const remote = require('electron');
qbutton = document.getElementsByClassName('quit-button')[0];
qbutton.addEventListener('click', function() {
console.log('quit');
remote.app.quit();
});
你不需要任何迭代。
问题出在 HTML 中。 <script>
必须在<button>
之后,否则 javascript 在按钮创建之前运行。
<body>
<header>
<button class="quit-button">Quit</button>
</header>
<script src="event.js"></script>
</body>
尝试将您的<button>
标签移动到<body>
标签中。
按钮标签不允许出现在头部。 当我将按钮移到主体上时,它工作得很好。
导入和关闭应用程序的方式不正确。 你应该这样做:
const remote = require('electron').remote
let qbutton = document.getElementsByClassName('quit-button');
for (var i = 0; i < qbutton.length; i++) {
qbutton[i].addEventListener('click', function () {
console.log('quit');
remote.getCurrentWindow().close()
});
}
(代表问题作者发布解决方案,将其移至答案空间) 。
问题已解决。 问题出在 HTML 中,我将<script>
放在<button>
之前。 是的,愚蠢的错误!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.