addEventListener()不起作用,我没有收到任何错误

时间:2020-04-24 17:34:07

标签: javascript electron addeventlistener

我正在尝试制作一个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();
});

5 个答案:

答案 0 :(得分:1)

如果只有一个按钮,则:

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

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

您不需要任何迭代。

答案 1 :(得分:1)

问题出在HTML中。 <script>必须在<button>之后,否则javascript将在创建按钮之前运行。

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

答案 2 :(得分:0)

尝试将您的<button>标记移到<body>标记中。

按钮标签不允许放在头部。当我将按钮移到身体上时,它工作正常。

答案 3 :(得分: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()
     });
}

答案 4 :(得分:0)

(代表问题作者发布了解决方案,将其移至答案空间)

问题已解决。问题出在HTML中,我将<script>放在了<button>之前。是的,愚蠢的错误!

相关问题