我有一个按钮,当我单击它时我希望它执行一个功能,但是由于某种原因,它根本不起作用。我认为将按钮链接到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”关键字有关>
答案 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应用程序,很高兴编码:)