addEventListener()不工作,我也没有收到任何错误信息。

问题描述 投票:0回答:1

我想做一个Electron应用。我试图在渲染器过程中为点击按钮添加一个事件监听器,但是当我点击按钮时,什么都没有发生。我不能得到任何错误。

<script src="event.js"></script>
 <header>
  <button type="button" class="quit-button">Quit</button>
 </header>
const {remote} = require('electron');
button = document.getElementById('quit-button');

button.addEventListener('click', () => {
    console.log('quit');
    remote.app.quit();
});
javascript electron addeventlistener
1个回答
1
投票

如果你只有一个按钮,那么。

const remote = require('electron');
qbutton = document.getElementsByClassName('quit-button')[0];

qbutton.addEventListener('click', function() {
  console.log('quit');
  remote.app.quit();
});

你不需要任何迭代。


1
投票

问题出在HTML中。这个 <script> 必须是在 <button>否则Javascript会在按钮创建之前运行。

 <body>
    <header>
        <button class="quit-button">Quit</button>
    </header>
    <script src="event.js"></script>
 </body>

0
投票

尝试移动你的 <button> 签入 <body> 标签。

按钮标签是不允许放在头部的。当我把按钮移到正文中时,它完美地工作了。


0
投票

导入和关闭应用程序的方法没有做对。你应该按照以下方法来做。

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()
     });
}

0
投票

(代表问题作者发布的解决方案,要移到答题空间).

问题解决了。问题出在HTML上,我把它的 <script> 在...之前 <button>. 是的,愚蠢的错误!

© www.soinside.com 2019 - 2024. All rights reserved.