单击时按钮不执行功能

时间:2020-04-10 19:40:56

标签: javascript html windows button

我有一个按钮,当我单击它时我希望它执行一个功能,但是由于某种原因,它根本不起作用。我认为将按钮链接到js文件的方式可能有问题。这是我的HTML:

<!DOCTYPE html>
<html lang = "en-us"></html>
   <head>
      <script src = "spotifybot.js" charset = "utf-8"></script>
      <title>Spotify Login</title>
   </head>
   <body>
      <button id = "login" style = "width: 100px;height: 100px">Login To Spotify</button>
   </body>
</html>

这是我的js文件:

const loginButton = document.getElementById("login").addEventListener('click', loginToSpotify());
const request = require("request");

function loginToSpotify()
{
   console.log("Here");
}

如果您认为这可能是问题所在,则两个文件都位于同一文件夹中。

编辑:检查浏览器控制台(我认为我可以检查Visual Studio控制台,但显然不能),发现错误与“ require”关键字有关

4 个答案:

答案 0 :(得分:2)

这是不正确的:

addEventListener('click', loginToSpotify());

您要么:

addEventListener('click', loginToSpotify);

或:

addEventListener('click', function() { loginToSpotify() });

答案 1 :(得分:1)

.addEventListener()的第二个参数应该是一个函数。

您正在调用loginToSpotify()函数,该函数返回undefined。因此,您传递的是undefined而不是实际的函数。

您必须更改此设置:

.addEventListener('click', loginToSpotify());

对此:

.addEventListener('click', loginToSpotify);

顺便说一句,.addEventListener()不返回任何内容(即返回undefined),因此您的loginButton现在的值为undefined

您可以执行以下操作:

document.getElementById('login').addEventListener('click', loginToSpotify);

或者,如果您也要存储按钮:

const loginButton = document.getElementById('login');
loginButton.addEventListener('click', loginToSpotify);

答案 2 :(得分:1)

require未定义,并且您不想在设置侦听器时执行功能。

const loginButton = document.getElementById("login").addEventListener('click', loginToSpotify);
//const request = require("request");

function loginToSpotify()
{
   console.log("Here");
}
   <head>
      <script src = "spotifybot.js" charset = "utf-8"></script>
      <title>Spotify Login</title>
   </head>
   <body>
      <button id = "login" style = "width: 100px;height: 100px">Login To Spotify</button>
   </body>

答案 3 :(得分:1)

更改此行:

php bin/console debug:container --env-vars

收件人:

for value in menu:
    count[menu[value][2]] += 1

因为您需要为其提供对回调函数的引用,而不是对其调用的返回值(默认情况下未定义)。

我看到您正在使用require,这是一个Electron JS应用程序,很高兴编码:)